home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Libraries / usr (gcc 1.37 libs) / mac / console.i < prev    next >
Text File  |  1993-12-13  |  166KB  |  6,687 lines

  1. # 1 "console.c"
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. # 1 "Desk.h" 1
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26. # 1 "Types.h" 1
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44. # 35 "Types.h"
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. typedef unsigned char Byte;
  73. typedef char SignedByte;
  74. typedef char *Ptr;
  75. typedef Ptr *Handle;     
  76.  
  77. typedef long Fixed;         
  78. typedef Fixed *FixedPtr;
  79. typedef long Fract;
  80. typedef Fract *FractPtr;
  81.  
  82. # 82 "Types.h"
  83.  
  84.  
  85. enum {false,true};
  86. typedef unsigned char Boolean;
  87.  
  88. enum {v,h};
  89. typedef unsigned char VHSelect;
  90.  
  91.  
  92.  
  93. typedef long (*ProcPtr)();
  94.  
  95. typedef ProcPtr *ProcHandle;
  96.  
  97. typedef unsigned char Str255[256],Str63[64],Str32[33],Str31[32],Str27[28],Str15[16],*StringPtr,**StringHandle;
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105. typedef const unsigned char *ConstStr255Param;
  106. typedef ConstStr255Param ConstStr63Param,ConstStr32Param,ConstStr31Param,
  107.  ConstStr27Param,ConstStr15Param;
  108.  
  109. typedef short OSErr;     
  110. typedef unsigned long OSType;
  111. typedef OSType *OSTypePtr;
  112. typedef unsigned long ResType;
  113. typedef ResType *ResTypePtr;
  114. typedef unsigned char Style;
  115. typedef short ScriptCode;
  116. typedef short LangCode;
  117.  
  118.  
  119. struct Point {
  120.  short v;
  121.  short h;
  122. };
  123.  
  124. typedef struct Point Point;
  125. typedef Point *PointPtr;
  126.  
  127. struct Rect {
  128.  short top;
  129.  short left;
  130.  short bottom;
  131.  short right;
  132. };
  133.  
  134. typedef struct Rect Rect;
  135. typedef Rect *RectPtr;
  136.  
  137.  
  138.  
  139.  
  140.  
  141. pascal void Debugger(void)
  142.  = 0xA9FF; 
  143. pascal void DebugStr(ConstStr255Param aStr)
  144.  = 0xABFF; 
  145.  
  146. void debugstr(char *aStr); 
  147.  
  148. pascal void SysBreak(void)
  149.  = {0x303C,0xFE16,0xA9C9}; 
  150. pascal void SysBreakStr(ConstStr255Param debugStr)
  151.  = {0x303C,0xFE15,0xA9C9}; 
  152. pascal void SysBreakFunc(ConstStr255Param debugFunc)
  153.  = {0x303C,0xFE14,0xA9C9}; 
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161. # 18 "Desk.h" 2
  162.  
  163.  
  164.  
  165.  
  166. # 1 "Quickdraw.h" 1
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189. enum {
  190.  
  191.  invalColReq = -1,                     
  192.  
  193.  
  194.  srcCopy = 0,                         
  195.  srcOr = 1,
  196.  srcXor = 2,
  197.  srcBic = 3,
  198.  notSrcCopy = 4,
  199.  notSrcOr = 5,
  200.  notSrcXor = 6,
  201.  notSrcBic = 7,
  202.  patCopy = 8,
  203.  patOr = 9,
  204.  patXor = 10,
  205.  patBic = 11,
  206.  notPatCopy = 12,
  207.  notPatOr = 13,
  208.  notPatXor = 14,
  209.  notPatBic = 15,
  210.  
  211.  
  212.  grayishTextOr = 49,
  213.  
  214.  
  215.  blend = 32,
  216.  addPin = 33
  217. };
  218. enum {
  219.  addOver = 34,
  220.  subPin = 35,
  221.  addMax = 37,
  222.  adMax = 37,
  223.  subOver = 38,
  224.  adMin = 39,
  225.  ditherCopy = 64,
  226.  
  227.  
  228.  transparent = 36,
  229.  
  230.  
  231.  normalBit = 0,                         
  232.  inverseBit = 1,                     
  233.  redBit = 4,                         
  234.  greenBit = 3,
  235.  blueBit = 2,
  236.  cyanBit = 8,                         
  237.  magentaBit = 7,
  238.  yellowBit = 6,
  239.  blackBit = 5,
  240.  blackColor = 33,                     
  241.  whiteColor = 30,
  242.  redColor = 205
  243. };
  244. enum {
  245.  greenColor = 341,
  246.  blueColor = 409,
  247.  cyanColor = 273,
  248.  magentaColor = 137,
  249.  yellowColor = 69,
  250.  
  251.  picLParen = 0,                         
  252.  picRParen = 1,
  253.  
  254.  normal = 0,
  255.  bold = 1,
  256.  italic = 2,
  257.  underline = 4,
  258.  outline = 8,
  259.  shadow = 0x10,
  260.  condense = 0x20,
  261.  extend = 0x40,
  262.  
  263.  clutType = 0,                         
  264.  fixedType = 1,                         
  265.  directType = 2,                     
  266.  
  267.  gdDevType = 0,                         
  268.  burstDevice = 7
  269. };
  270. enum {
  271.  ext32Device = 8,
  272.  ramInit = 10,                         
  273.  mainScreen = 11,                     
  274.  allInit = 12,                         
  275.  screenDevice = 13,                     
  276.  noDriver = 14,                         
  277.  screenActive = 15,                     
  278.  
  279.  hiliteBit = 7,                         
  280.  pHiliteBit = 0,                     
  281.  
  282.  defQDColors = 127,                     
  283.  
  284.  
  285.  RGBDirect = 16,                     
  286.  
  287.  
  288.  baseAddr32 = 4,                     
  289.  
  290.  rgnOverflowErr = -147,                 
  291.  insufficientStackErr = -149         
  292. };
  293.  
  294. enum {frame,paint,erase,invert,fill};
  295. typedef unsigned char GrafVerb;
  296.  
  297. enum {chunky,chunkyPlanar,planar};
  298. typedef unsigned char PixelType;
  299.  
  300.  
  301. typedef short Bits16[16];
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321. struct Pattern{
  322.    unsigned char pat[8];
  323. };
  324. typedef struct Pattern Pattern;
  325. typedef Pattern *PatPtr;
  326. typedef const Pattern *ConstPatternParam;
  327.  
  328. typedef PatPtr *PatHandle;
  329.  
  330. typedef char QDByte, *QDPtr, **QDHandle;
  331.  
  332. typedef short QDErr;
  333.  
  334. enum {singleDevicesBit = 0,dontMatchSeedsBit = 1,allDevicesBit = 2};
  335.  
  336. enum {singleDevices = 1 << singleDevicesBit,dontMatchSeeds = 1 << dontMatchSeedsBit,
  337.  allDevices = 1 << allDevicesBit};
  338. typedef unsigned long DeviceLoopFlags;
  339.  
  340.  
  341. struct FontInfo {
  342.  short ascent;
  343.  short descent;
  344.  short widMax;
  345.  short leading;
  346. };
  347.  
  348. typedef struct FontInfo FontInfo;
  349.  
  350. struct BitMap {
  351.  Ptr baseAddr;
  352.  short rowBytes;
  353.  Rect bounds;
  354. };
  355.  
  356. typedef struct BitMap BitMap;
  357. typedef BitMap *BitMapPtr, **BitMapHandle;
  358.  
  359. struct Cursor {
  360.  Bits16 data;
  361.  Bits16 mask;
  362.  Point hotSpot;
  363. };
  364.  
  365. typedef struct Cursor Cursor;
  366. typedef Cursor *CursPtr, **CursHandle;
  367.  
  368. struct PenState {
  369.  Point pnLoc;
  370.  Point pnSize;
  371.  short pnMode;
  372.  Pattern pnPat;
  373. };
  374.  
  375. typedef struct PenState PenState;
  376.  
  377. struct Region {
  378.  short rgnSize;                         
  379.  Rect rgnBBox;                         
  380. };
  381.  
  382. typedef struct Region Region;
  383. typedef Region *RgnPtr, **RgnHandle;
  384.  
  385. struct Picture {
  386.  short picSize;
  387.  Rect picFrame;
  388. };
  389.  
  390. typedef struct Picture Picture;
  391. typedef Picture *PicPtr, **PicHandle;
  392.  
  393. struct Polygon {
  394.  short polySize;
  395.  Rect polyBBox;
  396.  Point polyPoints[1];
  397. };
  398.  
  399. typedef struct Polygon Polygon;
  400. typedef Polygon *PolyPtr, **PolyHandle;
  401.  
  402. struct QDProcs {
  403.  Ptr textProc;
  404.  Ptr lineProc;
  405.  Ptr rectProc;
  406.  Ptr rRectProc;
  407.  Ptr ovalProc;
  408.  Ptr arcProc;
  409.  Ptr polyProc;
  410.  Ptr rgnProc;
  411.  Ptr bitsProc;
  412.  Ptr commentProc;
  413.  Ptr txMeasProc;
  414.  Ptr getPicProc;
  415.  Ptr putPicProc;
  416. };
  417.  
  418. typedef struct QDProcs QDProcs;
  419. typedef QDProcs *QDProcsPtr;
  420.  
  421. struct GrafPort {
  422.  short device;
  423.  BitMap portBits;
  424.  Rect portRect;
  425.  RgnHandle visRgn;
  426.  RgnHandle clipRgn;
  427.  Pattern bkPat;
  428.  Pattern fillPat;
  429.  Point pnLoc;
  430.  Point pnSize;
  431.  short pnMode;
  432.  Pattern pnPat;
  433.  short pnVis;
  434.  short txFont;
  435.  Style txFace;                         
  436.  char filler;
  437.  short txMode;
  438.  short txSize;
  439.  Fixed spExtra;
  440.  long fgColor;
  441.  long bkColor;
  442.  short colrBit;
  443.  short patStretch;
  444.  Handle picSave;
  445.  Handle rgnSave;
  446.  Handle polySave;
  447.  QDProcsPtr grafProcs;
  448. };
  449.  
  450. typedef struct GrafPort GrafPort;
  451. typedef GrafPort *GrafPtr;
  452.  
  453.  
  454. typedef GrafPtr WindowPtr;
  455.  
  456. struct RGBColor {
  457.  unsigned short red;                 
  458.  unsigned short green;                 
  459.  unsigned short blue;                 
  460. };
  461.  
  462. typedef struct RGBColor RGBColor;
  463.  
  464.  
  465. typedef pascal Boolean (*ColorSearchProcPtr)(RGBColor *rgb, long *position);
  466. typedef pascal Boolean (*ColorComplementProcPtr)(RGBColor *rgb);
  467.  
  468. struct ColorSpec {
  469.  short value;                         
  470.  RGBColor rgb;                         
  471. };
  472.  
  473. typedef struct ColorSpec ColorSpec;
  474. typedef ColorSpec *ColorSpecPtr;
  475.  
  476.  
  477. typedef ColorSpec CSpecArray[1];
  478.  
  479. struct ColorTable {
  480.  long ctSeed;                         
  481.  short ctFlags;                         
  482.  short ctSize;                         
  483.  CSpecArray ctTable;                 
  484. };
  485.  
  486. typedef struct ColorTable ColorTable;
  487. typedef ColorTable *CTabPtr, **CTabHandle;
  488.  
  489. struct MatchRec {
  490.  unsigned short red;
  491.  unsigned short green;
  492.  unsigned short blue;
  493.  long matchData;
  494. };
  495.  
  496. typedef struct MatchRec MatchRec;
  497.  
  498. struct PixMap {
  499.  Ptr baseAddr;                         
  500.  short rowBytes;                     
  501.  Rect bounds;                         
  502.  short pmVersion;                     
  503.  short packType;                     
  504.  long packSize;                         
  505.  Fixed hRes;                         
  506.  Fixed vRes;                         
  507.  short pixelType;                     
  508.  short pixelSize;                     
  509.  short cmpCount;                     
  510.  short cmpSize;                         
  511.  long planeBytes;                     
  512.  CTabHandle pmTable;                 
  513.  long pmReserved;                     
  514. };
  515.  
  516. typedef struct PixMap PixMap;
  517. typedef PixMap *PixMapPtr, **PixMapHandle;
  518.  
  519. struct PixPat {
  520.  short patType;                         
  521.  PixMapHandle patMap;                 
  522.  Handle patData;                     
  523.  Handle patXData;                     
  524.  short patXValid;                     
  525.  Handle patXMap;                     
  526.  Pattern pat1Data;                     
  527. };
  528.  
  529. typedef struct PixPat PixPat;
  530. typedef PixPat *PixPatPtr, **PixPatHandle;
  531.  
  532. struct CCrsr {
  533.  short crsrType;                     
  534.  PixMapHandle crsrMap;                 
  535.  Handle crsrData;                     
  536.  Handle crsrXData;                     
  537.  short crsrXValid;                     
  538.  Handle crsrXHandle;                 
  539.  Bits16 crsr1Data;                     
  540.  Bits16 crsrMask;                     
  541.  Point crsrHotSpot;                     
  542.  long crsrXTable;                     
  543.  long crsrID;                         
  544. };
  545.  
  546. typedef struct CCrsr CCrsr;
  547. typedef CCrsr *CCrsrPtr, **CCrsrHandle;
  548.  
  549. struct CIcon {
  550.  PixMap iconPMap;                     
  551.  BitMap iconMask;                     
  552.  BitMap iconBMap;                     
  553.  Handle iconData;                     
  554.  short iconMaskData[1];                 
  555. };
  556.  
  557. typedef struct CIcon CIcon;
  558. typedef CIcon *CIconPtr, **CIconHandle;
  559.  
  560. struct GammaTbl {
  561.  short gVersion;                     
  562.  short gType;                         
  563.  short gFormulaSize;                 
  564.  short gChanCnt;                     
  565.  short gDataCnt;                     
  566.  short gDataWidth;                     
  567.  short gFormulaData[1];                 
  568. };
  569.  
  570. typedef struct GammaTbl GammaTbl;
  571. typedef GammaTbl *GammaTblPtr, **GammaTblHandle;
  572.  
  573. struct ITab {
  574.  long iTabSeed;                         
  575.  short iTabRes;                         
  576.  unsigned char iTTable[1];             
  577. };
  578.  
  579. typedef struct ITab ITab;
  580. typedef ITab *ITabPtr, **ITabHandle;
  581.  
  582. struct SProcRec {
  583.  Handle nxtSrch;                     
  584.  ColorSearchProcPtr srchProc;         
  585. };
  586.  
  587. typedef struct SProcRec SProcRec;
  588. typedef SProcRec *SProcPtr, **SProcHndl;
  589.  
  590. struct CProcRec {
  591.  Handle nxtComp;                     
  592.  ColorComplementProcPtr compProc;     
  593. };
  594.  
  595. typedef struct CProcRec CProcRec;
  596. typedef CProcRec *CProcPtr, **CProcHndl;
  597.  
  598. struct GDevice {
  599.  short gdRefNum;                     
  600.  short gdID;                         
  601.  short gdType;                         
  602.  ITabHandle gdITable;                 
  603.  short gdResPref;                     
  604.  SProcHndl gdSearchProc;             
  605.  CProcHndl gdCompProc;                 
  606.  short gdFlags;                         
  607.  PixMapHandle gdPMap;                 
  608.  long gdRefCon;                         
  609.  Handle gdNextGD;                     
  610.  Rect gdRect;                         
  611.  long gdMode;                         
  612.  short gdCCBytes;                     
  613.  short gdCCDepth;                     
  614.  Handle gdCCXData;                     
  615.  Handle gdCCXMask;                     
  616.  long gdReserved;                     
  617. };
  618.  
  619. typedef struct GDevice GDevice;
  620. typedef GDevice *GDPtr, **GDHandle;
  621.  
  622. struct GrafVars {
  623.  RGBColor rgbOpColor;                 
  624.  RGBColor rgbHiliteColor;             
  625.  Handle pmFgColor;                     
  626.  short pmFgIndex;                     
  627.  Handle pmBkColor;                     
  628.  short pmBkIndex;                     
  629.  short pmFlags;                         
  630. };
  631.  
  632. typedef struct GrafVars GrafVars;
  633. typedef GrafVars *GVarPtr, **GVarHandle;
  634.  
  635. struct CQDProcs {
  636.  Ptr textProc;
  637.  Ptr lineProc;
  638.  Ptr rectProc;
  639.  Ptr rRectProc;
  640.  Ptr ovalProc;
  641.  Ptr arcProc;
  642.  Ptr polyProc;
  643.  Ptr rgnProc;
  644.  Ptr bitsProc;
  645.  Ptr commentProc;
  646.  Ptr txMeasProc;
  647.  Ptr getPicProc;
  648.  Ptr putPicProc;
  649.  Ptr opcodeProc;                     
  650.  Ptr newProc1;
  651.  Ptr newProc2;
  652.  Ptr newProc3;
  653.  Ptr newProc4;
  654.  Ptr newProc5;
  655.  Ptr newProc6;
  656. };
  657.  
  658. typedef struct CQDProcs CQDProcs;
  659. typedef CQDProcs *CQDProcsPtr;
  660.  
  661. struct CGrafPort {
  662.  short device;
  663.  PixMapHandle portPixMap;             
  664.  short portVersion;                     
  665.  Handle grafVars;                     
  666.  short chExtra;                         
  667.  short pnLocHFrac;                     
  668.  Rect portRect;
  669.  RgnHandle visRgn;
  670.  RgnHandle clipRgn;
  671.  PixPatHandle bkPixPat;                 
  672.  RGBColor rgbFgColor;                 
  673.  RGBColor rgbBkColor;                 
  674.  Point pnLoc;
  675.  Point pnSize;
  676.  short pnMode;
  677.  PixPatHandle pnPixPat;                 
  678.  PixPatHandle fillPixPat;             
  679.  short pnVis;
  680.  short txFont;
  681.  Style txFace;                         
  682.  char filler;
  683.  short txMode;
  684.  short txSize;
  685.  Fixed spExtra;
  686.  long fgColor;
  687.  long bkColor;
  688.  short colrBit;
  689.  short patStretch;
  690.  Handle picSave;
  691.  Handle rgnSave;
  692.  Handle polySave;
  693.  CQDProcsPtr grafProcs;
  694. };
  695.  
  696. typedef struct CGrafPort CGrafPort;
  697. typedef CGrafPort *CGrafPtr;
  698.  
  699.  
  700. typedef CGrafPtr CWindowPtr;
  701.  
  702. struct ReqListRec {
  703.  short reqLSize;                     
  704.  short reqLData[1];                     
  705. };
  706.  
  707. typedef struct ReqListRec ReqListRec;
  708.  
  709. struct OpenCPicParams {
  710.  Rect srcRect;
  711.  Fixed hRes;
  712.  Fixed vRes;
  713.  short version;
  714.  short reserved1;
  715.  long reserved2;
  716. };
  717.  
  718. typedef struct OpenCPicParams OpenCPicParams;
  719.  
  720.  
  721. typedef pascal void (*DeviceLoopDrawingProcPtr)(short depth, short deviceFlags, GDHandle targetDevice,  long userData);
  722.  
  723. extern struct  {
  724. char privates[76];
  725. long randSeed;
  726. BitMap screenBits;
  727. Cursor arrow;
  728. Pattern dkGray;
  729. Pattern ltGray;
  730. Pattern gray;
  731. Pattern black;
  732. Pattern white;
  733. GrafPtr thePort;
  734. }qd;
  735.  
  736.  
  737.  
  738.  
  739.  
  740. pascal void InitGraf(void *globalPtr)
  741.  = 0xA86E; 
  742. pascal void OpenPort(GrafPtr port)
  743.  = 0xA86F; 
  744. pascal void InitPort(GrafPtr port)
  745.  = 0xA86D; 
  746. pascal void ClosePort(GrafPtr port)
  747.  = 0xA87D; 
  748. pascal void SetPort(GrafPtr port)
  749.  = 0xA873; 
  750. pascal void GetPort(GrafPtr *port)
  751.  = 0xA874; 
  752. pascal void GrafDevice(short device)
  753.  = 0xA872; 
  754. pascal void SetPortBits(const BitMap *bm)
  755.  = 0xA875; 
  756. pascal void PortSize(short width,short height)
  757.  = 0xA876; 
  758. pascal void MovePortTo(short leftGlobal,short topGlobal)
  759.  = 0xA877; 
  760. pascal void SetOrigin(short h,short v)
  761.  = 0xA878; 
  762. pascal void SetClip(RgnHandle rgn)
  763.  = 0xA879; 
  764. pascal void GetClip(RgnHandle rgn)
  765.  = 0xA87A; 
  766. pascal void ClipRect(const Rect *r)
  767.  = 0xA87B; 
  768. pascal void BackPat(ConstPatternParam pat)
  769.  = 0xA87C; 
  770. pascal void InitCursor(void)
  771.  = 0xA850; 
  772. pascal void SetCursor(const Cursor *crsr)
  773.  = 0xA851; 
  774. pascal void HideCursor(void)
  775.  = 0xA852; 
  776. pascal void ShowCursor(void)
  777.  = 0xA853; 
  778. pascal void ObscureCursor(void)
  779.  = 0xA856; 
  780. pascal void HidePen(void)
  781.  = 0xA896; 
  782. pascal void ShowPen(void)
  783.  = 0xA897; 
  784. pascal void GetPen(Point *pt)
  785.  = 0xA89A; 
  786. pascal void GetPenState(PenState *pnState)
  787.  = 0xA898; 
  788. pascal void SetPenState(const PenState *pnState)
  789.  = 0xA899; 
  790. pascal void PenSize(short width,short height)
  791.  = 0xA89B; 
  792. pascal void PenMode(short mode)
  793.  = 0xA89C; 
  794. pascal void PenPat(ConstPatternParam pat)
  795.  = 0xA89D; 
  796. pascal void PenNormal(void)
  797.  = 0xA89E; 
  798. pascal void MoveTo(short h,short v)
  799.  = 0xA893; 
  800. pascal void Move(short dh,short dv)
  801.  = 0xA894; 
  802. pascal void LineTo(short h,short v)
  803.  = 0xA891; 
  804. pascal void Line(short dh,short dv)
  805.  = 0xA892; 
  806. pascal void TextFont(short font)
  807.  = 0xA887; 
  808. pascal void TextFace(short face)
  809.  = 0xA888; 
  810. pascal void TextMode(short mode)
  811.  = 0xA889; 
  812. pascal void TextSize(short size)
  813.  = 0xA88A; 
  814. pascal void SpaceExtra(Fixed extra)
  815.  = 0xA88E; 
  816. pascal void DrawChar(short ch)
  817.  = 0xA883; 
  818. pascal void DrawString(ConstStr255Param s)
  819.  = 0xA884; 
  820. pascal void DrawText(const void *textBuf,short firstByte,short byteCount)
  821.  = 0xA885; 
  822. pascal short CharWidth(short ch)
  823.  = 0xA88D; 
  824. pascal short StringWidth(ConstStr255Param s)
  825.  = 0xA88C; 
  826. pascal short TextWidth(const void *textBuf,short firstByte,short byteCount)
  827.  = 0xA886; 
  828. pascal void MeasureText(short count,const void *textAddr,void *charLocs)
  829.  = 0xA837; 
  830. pascal void GetFontInfo(FontInfo *info)
  831.  = 0xA88B; 
  832. pascal void ForeColor(long color)
  833.  = 0xA862; 
  834. pascal void BackColor(long color)
  835.  = 0xA863; 
  836. pascal void ColorBit(short whichBit)
  837.  = 0xA864; 
  838. pascal void SetRect(Rect *r,short left,short top,short right,short bottom)
  839.  = 0xA8A7; 
  840. pascal void OffsetRect(Rect *r,short dh,short dv)
  841.  = 0xA8A8; 
  842. pascal void InsetRect(Rect *r,short dh,short dv)
  843.  = 0xA8A9; 
  844. pascal Boolean SectRect(const Rect *src1,const Rect *src2,Rect *dstRect)
  845.  = 0xA8AA; 
  846. pascal void UnionRect(const Rect *src1,const Rect *src2,Rect *dstRect)
  847.  = 0xA8AB; 
  848. pascal Boolean EqualRect(const Rect *rect1,const Rect *rect2)
  849.  = 0xA8A6; 
  850. pascal Boolean EmptyRect(const Rect *r)
  851.  = 0xA8AE; 
  852. pascal void FrameRect(const Rect *r)
  853.  = 0xA8A1; 
  854. pascal void PaintRect(const Rect *r)
  855.  = 0xA8A2; 
  856. pascal void EraseRect(const Rect *r)
  857.  = 0xA8A3; 
  858. pascal void InvertRect(const Rect *r)
  859.  = 0xA8A4; 
  860. pascal void FillRect(const Rect *r,ConstPatternParam pat)
  861.  = 0xA8A5; 
  862. pascal void FrameOval(const Rect *r)
  863.  = 0xA8B7; 
  864. pascal void PaintOval(const Rect *r)
  865.  = 0xA8B8; 
  866. pascal void EraseOval(const Rect *r)
  867.  = 0xA8B9; 
  868. pascal void InvertOval(const Rect *r)
  869.  = 0xA8BA; 
  870. pascal void FillOval(const Rect *r,ConstPatternParam pat)
  871.  = 0xA8BB; 
  872. pascal void FrameRoundRect(const Rect *r,short ovalWidth,short ovalHeight)
  873.  = 0xA8B0; 
  874. pascal void PaintRoundRect(const Rect *r,short ovalWidth,short ovalHeight)
  875.  = 0xA8B1; 
  876. pascal void EraseRoundRect(const Rect *r,short ovalWidth,short ovalHeight)
  877.  = 0xA8B2; 
  878. pascal void InvertRoundRect(const Rect *r,short ovalWidth,short ovalHeight)
  879.  = 0xA8B3; 
  880. pascal void FillRoundRect(const Rect *r,short ovalWidth,short ovalHeight,
  881.  ConstPatternParam pat)
  882.  = 0xA8B4; 
  883. pascal void FrameArc(const Rect *r,short startAngle,short arcAngle)
  884.  = 0xA8BE; 
  885. pascal void PaintArc(const Rect *r,short startAngle,short arcAngle)
  886.  = 0xA8BF; 
  887. pascal void EraseArc(const Rect *r,short startAngle,short arcAngle)
  888.  = 0xA8C0; 
  889. pascal void InvertArc(const Rect *r,short startAngle,short arcAngle)
  890.  = 0xA8C1; 
  891. pascal void FillArc(const Rect *r,short startAngle,short arcAngle,ConstPatternParam pat)
  892.  = 0xA8C2; 
  893. pascal RgnHandle NewRgn(void)
  894.  = 0xA8D8; 
  895. pascal void OpenRgn(void)
  896.  = 0xA8DA; 
  897. pascal void CloseRgn(RgnHandle dstRgn)
  898.  = 0xA8DB; 
  899. pascal OSErr BitMapToRegionGlue(RgnHandle region,const BitMap *bMap); 
  900. pascal OSErr BitMapToRegion(RgnHandle region,const BitMap *bMap)
  901.  = 0xA8D7; 
  902. pascal void DisposeRgn(RgnHandle rgn)
  903.  = 0xA8D9; 
  904. pascal void CopyRgn(RgnHandle srcRgn,RgnHandle dstRgn)
  905.  = 0xA8DC; 
  906. pascal void SetEmptyRgn(RgnHandle rgn)
  907.  = 0xA8DD; 
  908. pascal void SetRectRgn(RgnHandle rgn,short left,short top,short right,short bottom)
  909.  = 0xA8DE; 
  910. pascal void RectRgn(RgnHandle rgn,const Rect *r)
  911.  = 0xA8DF; 
  912. pascal void OffsetRgn(RgnHandle rgn,short dh,short dv)
  913.  = 0xA8E0; 
  914. pascal void InsetRgn(RgnHandle rgn,short dh,short dv)
  915.  = 0xA8E1; 
  916. pascal void SectRgn(RgnHandle srcRgnA,RgnHandle srcRgnB,RgnHandle dstRgn)
  917.  = 0xA8E4; 
  918. pascal void UnionRgn(RgnHandle srcRgnA,RgnHandle srcRgnB,RgnHandle dstRgn)
  919.  = 0xA8E5; 
  920. pascal void DiffRgn(RgnHandle srcRgnA,RgnHandle srcRgnB,RgnHandle dstRgn)
  921.  = 0xA8E6; 
  922. pascal void XorRgn(RgnHandle srcRgnA,RgnHandle srcRgnB,RgnHandle dstRgn)
  923.  = 0xA8E7; 
  924. pascal Boolean RectInRgn(const Rect *r,RgnHandle rgn)
  925.  = 0xA8E9; 
  926. pascal Boolean EqualRgn(RgnHandle rgnA,RgnHandle rgnB)
  927.  = 0xA8E3; 
  928. pascal Boolean EmptyRgn(RgnHandle rgn)
  929.  = 0xA8E2; 
  930. pascal void FrameRgn(RgnHandle rgn)
  931.  = 0xA8D2; 
  932. pascal void PaintRgn(RgnHandle rgn)
  933.  = 0xA8D3; 
  934. pascal void EraseRgn(RgnHandle rgn)
  935.  = 0xA8D4; 
  936. pascal void InvertRgn(RgnHandle rgn)
  937.  = 0xA8D5; 
  938. pascal void FillRgn(RgnHandle rgn,ConstPatternParam pat)
  939.  = 0xA8D6; 
  940. pascal void ScrollRect(const Rect *r,short dh,short dv,RgnHandle updateRgn)
  941.  = 0xA8EF; 
  942. pascal void CopyBits(const BitMap *srcBits,const BitMap *dstBits,const Rect *srcRect,
  943.  const Rect *dstRect,short mode,RgnHandle maskRgn)
  944.  = 0xA8EC; 
  945. pascal void SeedFill(const void *srcPtr,void *dstPtr,short srcRow,short dstRow,
  946.  short height,short words,short seedH,short seedV)
  947.  = 0xA839; 
  948. pascal void CalcMask(const void *srcPtr,void *dstPtr,short srcRow,short dstRow,
  949.  short height,short words)
  950.  = 0xA838; 
  951. pascal void CopyMask(const BitMap *srcBits,const BitMap *maskBits,const BitMap *dstBits,
  952.  const Rect *srcRect,const Rect *maskRect,const Rect *dstRect)
  953.  = 0xA817; 
  954. pascal PicHandle OpenPicture(const Rect *picFrame)
  955.  = 0xA8F3; 
  956. pascal void PicComment(short kind,short dataSize,Handle dataHandle)
  957.  = 0xA8F2; 
  958. pascal void ClosePicture(void)
  959.  = 0xA8F4; 
  960. pascal void DrawPicture(PicHandle myPicture,const Rect *dstRect)
  961.  = 0xA8F6; 
  962. pascal void KillPicture(PicHandle myPicture)
  963.  = 0xA8F5; 
  964. pascal PolyHandle OpenPoly(void)
  965.  = 0xA8CB; 
  966. pascal void ClosePoly(void)
  967.  = 0xA8CC; 
  968. pascal void KillPoly(PolyHandle poly)
  969.  = 0xA8CD; 
  970. pascal void OffsetPoly(PolyHandle poly,short dh,short dv)
  971.  = 0xA8CE; 
  972. pascal void FramePoly(PolyHandle poly)
  973.  = 0xA8C6; 
  974. pascal void PaintPoly(PolyHandle poly)
  975.  = 0xA8C7; 
  976. pascal void ErasePoly(PolyHandle poly)
  977.  = 0xA8C8; 
  978. pascal void InvertPoly(PolyHandle poly)
  979.  = 0xA8C9; 
  980. pascal void FillPoly(PolyHandle poly,ConstPatternParam pat)
  981.  = 0xA8CA; 
  982. pascal void SetPt(Point *pt,short h,short v)
  983.  = 0xA880; 
  984. pascal void LocalToGlobal(Point *pt)
  985.  = 0xA870; 
  986. pascal void GlobalToLocal(Point *pt)
  987.  = 0xA871; 
  988. pascal short Random(void)
  989.  = 0xA861; 
  990. pascal void StuffHex(void *thingPtr,ConstStr255Param s)
  991.  = 0xA866; 
  992. pascal Boolean GetPixel(short h,short v)
  993.  = 0xA865; 
  994. pascal void ScalePt(Point *pt,const Rect *srcRect,const Rect *dstRect)
  995.  = 0xA8F8; 
  996. pascal void MapPt(Point *pt,const Rect *srcRect,const Rect *dstRect)
  997.  = 0xA8F9; 
  998. pascal void MapRect(Rect *r,const Rect *srcRect,const Rect *dstRect)
  999.  = 0xA8FA; 
  1000. pascal void MapRgn(RgnHandle rgn,const Rect *srcRect,const Rect *dstRect)
  1001.  = 0xA8FB; 
  1002. pascal void MapPoly(PolyHandle poly,const Rect *srcRect,const Rect *dstRect)
  1003.  = 0xA8FC; 
  1004. pascal void SetStdProcs(QDProcs *procs)
  1005.  = 0xA8EA; 
  1006. pascal void StdRect(GrafVerb verb,const Rect *r)
  1007.  = 0xA8A0; 
  1008. pascal void StdRRect(GrafVerb verb,const Rect *r,short ovalWidth,short ovalHeight)
  1009.  = 0xA8AF; 
  1010. pascal void StdOval(GrafVerb verb,const Rect *r)
  1011.  = 0xA8B6; 
  1012. pascal void StdArc(GrafVerb verb,const Rect *r,short startAngle,short arcAngle)
  1013.  = 0xA8BD; 
  1014. pascal void StdPoly(GrafVerb verb,PolyHandle poly)
  1015.  = 0xA8C5; 
  1016. pascal void StdRgn(GrafVerb verb,RgnHandle rgn)
  1017.  = 0xA8D1; 
  1018. pascal void StdBits(const BitMap *srcBits,const Rect *srcRect,const Rect *dstRect,
  1019.  short mode,RgnHandle maskRgn)
  1020.  = 0xA8EB; 
  1021. pascal void StdComment(short kind,short dataSize,Handle dataHandle)
  1022.  = 0xA8F1; 
  1023. pascal short StdTxMeas(short byteCount,const void *textAddr,Point *numer,
  1024.  Point *denom,FontInfo *info)
  1025.  = 0xA8ED; 
  1026. pascal void StdGetPic(void *dataPtr,short byteCount)
  1027.  = 0xA8EE; 
  1028. pascal void StdPutPic(const void *dataPtr,short byteCount)
  1029.  = 0xA8F0; 
  1030. pascal void AddPt(Point src,Point *dst)
  1031.  = 0xA87E; 
  1032.  
  1033. void subpt(Point *src,Point *dst); 
  1034.  
  1035. pascal Boolean EqualPt(Point pt1,Point pt2)
  1036.  = 0xA881; 
  1037. pascal Boolean PtInRect(Point pt,const Rect *r)
  1038.  = 0xA8AD; 
  1039. pascal void Pt2Rect(Point pt1,Point pt2,Rect *dstRect)
  1040.  = 0xA8AC; 
  1041. pascal void PtToAngle(const Rect *r,Point pt,short *angle)
  1042.  = 0xA8C3; 
  1043. pascal Boolean PtInRgn(Point pt,RgnHandle rgn)
  1044.  = 0xA8E8; 
  1045. pascal void StdText(short count,const void *textAddr,Point numer,Point denom)
  1046.  = 0xA882; 
  1047. pascal void StdLine(Point newPt)
  1048.  = 0xA890; 
  1049. pascal void OpenCPort(CGrafPtr port)
  1050.  = 0xAA00; 
  1051. pascal void InitCPort(CGrafPtr port)
  1052.  = 0xAA01; 
  1053. pascal void CloseCPort(CGrafPtr port)
  1054.  = 0xA87D; 
  1055. pascal PixMapHandle NewPixMap(void)
  1056.  = 0xAA03; 
  1057. pascal void DisposPixMap(PixMapHandle pm)
  1058.  = 0xAA04; 
  1059. pascal void DisposePixMap(PixMapHandle pm)
  1060.  = 0xAA04; 
  1061. pascal void CopyPixMap(PixMapHandle srcPM,PixMapHandle dstPM)
  1062.  = 0xAA05; 
  1063. pascal PixPatHandle NewPixPat(void)
  1064.  = 0xAA07; 
  1065. pascal void DisposPixPat(PixPatHandle pp)
  1066.  = 0xAA08; 
  1067. pascal void DisposePixPat(PixPatHandle pp)
  1068.  = 0xAA08; 
  1069. pascal void CopyPixPat(PixPatHandle srcPP,PixPatHandle dstPP)
  1070.  = 0xAA09; 
  1071. pascal void PenPixPat(PixPatHandle pp)
  1072.  = 0xAA0A; 
  1073. pascal void BackPixPat(PixPatHandle pp)
  1074.  = 0xAA0B; 
  1075. pascal PixPatHandle GetPixPat(short patID)
  1076.  = 0xAA0C; 
  1077. pascal void MakeRGBPat(PixPatHandle pp,const RGBColor *myColor)
  1078.  = 0xAA0D; 
  1079. pascal void FillCRect(const Rect *r,PixPatHandle pp)
  1080.  = 0xAA0E; 
  1081. pascal void FillCOval(const Rect *r,PixPatHandle pp)
  1082.  = 0xAA0F; 
  1083. pascal void FillCRoundRect(const Rect *r,short ovalWidth,short ovalHeight,
  1084.  PixPatHandle pp)
  1085.  = 0xAA10; 
  1086. pascal void FillCArc(const Rect *r,short startAngle,short arcAngle,PixPatHandle pp)
  1087.  = 0xAA11; 
  1088. pascal void FillCRgn(RgnHandle rgn,PixPatHandle pp)
  1089.  = 0xAA12; 
  1090. pascal void FillCPoly(PolyHandle poly,PixPatHandle pp)
  1091.  = 0xAA13; 
  1092. pascal void RGBForeColor(const RGBColor *color)
  1093.  = 0xAA14; 
  1094. pascal void RGBBackColor(const RGBColor *color)
  1095.  = 0xAA15; 
  1096. pascal void SetCPixel(short h,short v,const RGBColor *cPix)
  1097.  = 0xAA16; 
  1098. pascal void SetPortPix(PixMapHandle pm)
  1099.  = 0xAA06; 
  1100. pascal void GetCPixel(short h,short v,RGBColor *cPix)
  1101.  = 0xAA17; 
  1102. pascal void GetForeColor(RGBColor *color)
  1103.  = 0xAA19; 
  1104. pascal void GetBackColor(RGBColor *color)
  1105.  = 0xAA1A; 
  1106. pascal void SeedCFill(const BitMap *srcBits,const BitMap *dstBits,const Rect *srcRect,
  1107.  const Rect *dstRect,short seedH,short seedV,ColorSearchProcPtr matchProc,
  1108.  long matchData)
  1109.  = 0xAA50; 
  1110. pascal void CalcCMask(const BitMap *srcBits,const BitMap *dstBits,const Rect *srcRect,
  1111.  const Rect *dstRect,const RGBColor *seedRGB,ColorSearchProcPtr matchProc,
  1112.  long matchData)
  1113.  = 0xAA4F; 
  1114. pascal PicHandle OpenCPicture(const OpenCPicParams *newHeader)
  1115.  = 0xAA20; 
  1116. pascal void OpColor(const RGBColor *color)
  1117.  = 0xAA21; 
  1118. pascal void HiliteColor(const RGBColor *color)
  1119.  = 0xAA22; 
  1120. pascal void DisposCTable(CTabHandle cTable)
  1121.  = 0xAA24; 
  1122. pascal void DisposeCTable(CTabHandle cTable)
  1123.  = 0xAA24; 
  1124. pascal CTabHandle GetCTable(short ctID)
  1125.  = 0xAA18; 
  1126. pascal CCrsrHandle GetCCursor(short crsrID)
  1127.  = 0xAA1B; 
  1128. pascal void SetCCursor(CCrsrHandle cCrsr)
  1129.  = 0xAA1C; 
  1130. pascal void AllocCursor(void)
  1131.  = 0xAA1D; 
  1132. pascal void DisposCCursor(CCrsrHandle cCrsr)
  1133.  = 0xAA26; 
  1134. pascal void DisposeCCursor(CCrsrHandle cCrsr)
  1135.  = 0xAA26; 
  1136. pascal CIconHandle GetCIcon(short iconID)
  1137.  = 0xAA1E; 
  1138. pascal void PlotCIcon(const Rect *theRect,CIconHandle theIcon)
  1139.  = 0xAA1F; 
  1140. pascal void DisposCIcon(CIconHandle theIcon)
  1141.  = 0xAA25; 
  1142. pascal void DisposeCIcon(CIconHandle theIcon)
  1143.  = 0xAA25; 
  1144. pascal void SetStdCProcs(CQDProcs *procs)
  1145.  = 0xAA4E; 
  1146. pascal void CharExtra(Fixed extra)
  1147.  = 0xAA23; 
  1148. pascal GDHandle GetMaxDevice(const Rect *globalRect)
  1149.  = 0xAA27; 
  1150. pascal long GetCTSeed(void)
  1151.  = 0xAA28; 
  1152. pascal GDHandle GetDeviceList(void)
  1153.  = 0xAA29; 
  1154. pascal GDHandle GetMainDevice(void)
  1155.  = 0xAA2A; 
  1156. pascal GDHandle GetNextDevice(GDHandle curDevice)
  1157.  = 0xAA2B; 
  1158. pascal Boolean TestDeviceAttribute(GDHandle gdh,short attribute)
  1159.  = 0xAA2C; 
  1160. pascal void SetDeviceAttribute(GDHandle gdh,short attribute,Boolean value)
  1161.  = 0xAA2D; 
  1162. pascal void InitGDevice(short qdRefNum,long mode,GDHandle gdh)
  1163.  = 0xAA2E; 
  1164. pascal GDHandle NewGDevice(short refNum,long mode)
  1165.  = 0xAA2F; 
  1166. pascal void DisposGDevice(GDHandle gdh)
  1167.  = 0xAA30; 
  1168. pascal void DisposeGDevice(GDHandle gdh)
  1169.  = 0xAA30; 
  1170. pascal void SetGDevice(GDHandle gd)
  1171.  = 0xAA31; 
  1172. pascal GDHandle GetGDevice(void)
  1173.  = 0xAA32; 
  1174. pascal long Color2Index(const RGBColor *myColor)
  1175.  = 0xAA33; 
  1176. pascal void Index2Color(long index,RGBColor *aColor)
  1177.  = 0xAA34; 
  1178. pascal void InvertColor(RGBColor *myColor)
  1179.  = 0xAA35; 
  1180. pascal Boolean RealColor(const RGBColor *color)
  1181.  = 0xAA36; 
  1182. pascal void GetSubTable(CTabHandle myColors,short iTabRes,CTabHandle targetTbl)
  1183.  = 0xAA37; 
  1184. pascal void MakeITable(CTabHandle cTabH,ITabHandle iTabH,short res)
  1185.  = 0xAA39; 
  1186. pascal void AddSearch(ColorSearchProcPtr searchProc)
  1187.  = 0xAA3A; 
  1188. pascal void AddComp(ColorComplementProcPtr compProc)
  1189.  = 0xAA3B; 
  1190. pascal void DelSearch(ColorSearchProcPtr searchProc)
  1191.  = 0xAA4C; 
  1192. pascal void DelComp(ColorComplementProcPtr compProc)
  1193.  = 0xAA4D; 
  1194. pascal void SubPt(Point src,Point *dst)
  1195.  = 0xA87F; 
  1196. pascal void SetClientID(short id)
  1197.  = 0xAA3C; 
  1198. pascal void ProtectEntry(short index,Boolean protect)
  1199.  = 0xAA3D; 
  1200.  
  1201. Boolean equalpt(Point *pt1,Point *pt2); 
  1202.  
  1203. pascal void ReserveEntry(short index,Boolean reserve)
  1204.  = 0xAA3E; 
  1205. pascal void SetEntries(short start,short count,CSpecArray aTable)
  1206.  = 0xAA3F; 
  1207.  
  1208. Boolean ptinrect(Point *pt,const Rect *r); 
  1209.  
  1210. pascal void SaveEntries(CTabHandle srcTable,CTabHandle resultTable,ReqListRec *selection)
  1211.  = 0xAA49; 
  1212. pascal void RestoreEntries(CTabHandle srcTable,CTabHandle dstTable,ReqListRec *selection)
  1213.  = 0xAA4A; 
  1214.  
  1215. void pt2rect(Point *pt1,Point *pt2,const Rect *destRect); 
  1216.  
  1217. pascal short QDError(void)
  1218.  = 0xAA40; 
  1219. pascal void CopyDeepMask(const BitMap *srcBits,const BitMap *maskBits,const BitMap *dstBits,
  1220.  const Rect *srcRect,const Rect *maskRect,const Rect *dstRect,short mode,
  1221.  RgnHandle maskRgn)
  1222.  = 0xAA51; 
  1223. pascal void DeviceLoop(RgnHandle drawingRgn,DeviceLoopDrawingProcPtr drawingProc,
  1224.  long userData,DeviceLoopFlags flags)
  1225.  = 0xABCA; 
  1226. #pragma parameter __A0 GetMaskTable
  1227. pascal Ptr GetMaskTable(void)
  1228.  = 0xA836; 
  1229.  
  1230. void pttoangle(const Rect *r,Point *pt,short *angle); 
  1231. Boolean ptinrgn(Point *pt,RgnHandle rgn); 
  1232. void stdtext(short count,const void *textAddr,Point *numer,Point *denom); 
  1233. void stdline(Point *newPt); 
  1234. void drawstring(char *s); 
  1235. void addpt(Point *src,Point *dst); 
  1236. void stuffhex(Ptr thingPtr,char *s); 
  1237. short stringwidth(char *s); 
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245. # 22 "Desk.h" 2
  1246.  
  1247.  
  1248.  
  1249.  
  1250. # 1 "Events.h" 1
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277. enum {
  1278.  
  1279.  nullEvent = 0,
  1280.  mouseDown = 1,
  1281.  mouseUp = 2,
  1282.  keyDown = 3,
  1283.  keyUp = 4,
  1284.  autoKey = 5,
  1285.  updateEvt = 6,
  1286.  diskEvt = 7,
  1287.  activateEvt = 8,
  1288.  osEvt = 15,
  1289.  
  1290.  
  1291.  mDownMask = 2,
  1292.  mUpMask = 4,
  1293.  keyDownMask = 8,
  1294.  keyUpMask = 16,
  1295.  autoKeyMask = 32,
  1296.  updateMask = 64,
  1297.  diskMask = 128,
  1298.  activMask = 256,
  1299.  highLevelEventMask = 1024,
  1300.  osMask = -32768
  1301. };
  1302. enum {
  1303.  everyEvent = -1,
  1304.  
  1305.  
  1306.  charCodeMask = 0x000000FF,
  1307.  keyCodeMask = 0x0000FF00,
  1308.  adbAddrMask = 0x00FF0000,
  1309.  osEvtMessageMask = 0xFF000000,
  1310.  
  1311.  
  1312.  mouseMovedMessage = 0xFA,
  1313.  suspendResumeMessage = 0x01,
  1314.  
  1315.  resumeFlag = 1,             
  1316.  convertClipboardFlag = 2,     
  1317.  
  1318.  
  1319.  activeFlag = 1,             
  1320.  btnState = 128,             
  1321.  cmdKey = 256,                 
  1322.  shiftKey = 512,             
  1323.  alphaLock = 1024,             
  1324.  optionKey = 2048,             
  1325.  controlKey = 4096,
  1326.  
  1327.  
  1328.  networkEvt = 10,
  1329.  driverEvt = 11,
  1330.  app1Evt = 12,
  1331.  app2Evt = 13
  1332. };
  1333. enum {
  1334.  app3Evt = 14,
  1335.  app4Evt = 15,
  1336.  networkMask = 1024,
  1337.  driverMask = 2048,
  1338.  app1Mask = 4096,
  1339.  app2Mask = 8192,
  1340.  app3Mask = 16384,
  1341.  app4Mask = -32768
  1342. };
  1343.  
  1344. struct EventRecord {
  1345.  short what;
  1346.  long message;
  1347.  long when;
  1348.  Point where;
  1349.  short modifiers;
  1350. };
  1351.  
  1352. typedef struct EventRecord EventRecord;
  1353.  
  1354.  
  1355. typedef long KeyMap[4];
  1356.  
  1357.  
  1358.  
  1359.  
  1360. pascal Boolean GetNextEvent(short eventMask,EventRecord *theEvent)
  1361.  = 0xA970; 
  1362. pascal Boolean WaitNextEvent(short eventMask,EventRecord *theEvent,unsigned long sleep,
  1363.  RgnHandle mouseRgn)
  1364.  = 0xA860; 
  1365. pascal Boolean EventAvail(short eventMask,EventRecord *theEvent)
  1366.  = 0xA971; 
  1367. pascal void GetMouse(Point *mouseLoc)
  1368.  = 0xA972; 
  1369. pascal Boolean Button(void)
  1370.  = 0xA974; 
  1371. pascal Boolean StillDown(void)
  1372.  = 0xA973; 
  1373. pascal Boolean WaitMouseUp(void)
  1374.  = 0xA977; 
  1375. pascal void GetKeys(KeyMap theKeys)
  1376.  = 0xA976; 
  1377. pascal unsigned long TickCount(void)
  1378.  = 0xA975; 
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386. # 26 "Desk.h" 2
  1387.  
  1388.  
  1389.  
  1390.  
  1391. enum {
  1392.  
  1393.     accEvent = 64,
  1394.     accRun = 65,
  1395.     accCursor = 66,
  1396.     accMenu = 67,
  1397.     accUndo = 68,
  1398.     accCut = 70,
  1399.     accCopy = 71,
  1400.     accPaste = 72,
  1401.     accClear = 73,
  1402.     goodbye = -1     
  1403. };
  1404.  
  1405.  
  1406.  
  1407.  
  1408. pascal short OpenDeskAcc(ConstStr255Param deskAccName)
  1409.     = 0xA9B6; 
  1410. pascal void CloseDeskAcc(short refNum)
  1411.     = 0xA9B7; 
  1412. pascal void SystemClick(const EventRecord *theEvent,WindowPtr theWindow)
  1413.     = 0xA9B3; 
  1414. pascal Boolean SystemEdit(short editCmd)
  1415.     = 0xA9C2; 
  1416. pascal void SystemTask(void)
  1417.     = 0xA9B4; 
  1418. pascal Boolean SystemEvent(const EventRecord *theEvent)
  1419.     = 0xA9B2; 
  1420. pascal void SystemMenu(long menuResult)
  1421.     = 0xA9B5; 
  1422.  
  1423. short opendeskacc(char *deskAccName); 
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430. # 7 "console.c" 2
  1431.  
  1432. # 1 "Scrap.h" 1
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454. struct ScrapStuff {
  1455.     long scrapSize;
  1456.     Handle scrapHandle;
  1457.     short scrapCount;
  1458.     short scrapState;
  1459.     StringPtr scrapName;
  1460. };
  1461.  
  1462. typedef struct ScrapStuff ScrapStuff;
  1463. typedef ScrapStuff *PScrapStuff;
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469. pascal PScrapStuff InfoScrap(void)
  1470.     = 0xA9F9; 
  1471. pascal long UnloadScrap(void)
  1472.     = 0xA9FA; 
  1473. pascal long LoadScrap(void)
  1474.     = 0xA9FB; 
  1475. pascal long GetScrap(Handle hDest,ResType theType,long *offset)
  1476.     = 0xA9FD; 
  1477. pascal long ZeroScrap(void)
  1478.     = 0xA9FC; 
  1479. pascal long PutScrap(long length,ResType theType,Ptr source)
  1480.     = 0xA9FE; 
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486. # 8 "console.c" 2
  1487.  
  1488. # 1 "Fonts.h" 1
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510. enum {
  1511.  
  1512.     systemFont = 0,
  1513.     applFont = 1,
  1514.     newYork = 2,
  1515.     geneva = 3,
  1516.     monaco = 4,
  1517.     venice = 5,
  1518.     london = 6,
  1519.     athens = 7,
  1520.     sanFran = 8,
  1521.     toronto = 9,
  1522.     cairo = 11,
  1523.     losAngeles = 12,
  1524.     times = 20,
  1525.     helvetica = 21,
  1526.     courier = 22,
  1527.     symbol = 23,
  1528.     mobile = 24,
  1529.     commandMark = 17,
  1530.     checkMark = 18,
  1531.     diamondMark = 19
  1532. };
  1533. enum {
  1534.     appleMark = 20,
  1535.     propFont = 36864,
  1536.     prpFntH = 36865,
  1537.     prpFntW = 36866,
  1538.     prpFntHW = 36867,
  1539.     fixedFont = 45056,
  1540.     fxdFntH = 45057,
  1541.     fxdFntW = 45058,
  1542.     fxdFntHW = 45059,
  1543.     fontWid = 44208
  1544. };
  1545.  
  1546. struct FMInput {
  1547.     short family;
  1548.     short size;
  1549.     Style face;
  1550.     Boolean needBits;
  1551.     short device;
  1552.     Point numer;
  1553.     Point denom;
  1554. };
  1555.  
  1556. typedef struct FMInput FMInput;
  1557.  
  1558. struct FMOutput {
  1559.     short errNum;
  1560.     Handle fontHandle;
  1561.     unsigned char boldPixels;
  1562.     unsigned char italicPixels;
  1563.     unsigned char ulOffset;
  1564.     unsigned char ulShadow;
  1565.     unsigned char ulThick;
  1566.     unsigned char shadowPixels;
  1567.     char extra;
  1568.     unsigned char ascent;
  1569.     unsigned char descent;
  1570.     unsigned char widMax;
  1571.     char leading;
  1572.     char unused;
  1573.     Point numer;
  1574.     Point denom;
  1575. };
  1576.  
  1577. typedef struct FMOutput FMOutput;
  1578. typedef FMOutput *FMOutPtr;
  1579.  
  1580. struct FontRec {
  1581.     short fontType;          
  1582.     short firstChar;         
  1583.     short lastChar;          
  1584.     short widMax;            
  1585.     short kernMax;           
  1586.     short nDescent;          
  1587.     short fRectWidth;        
  1588.     short fRectHeight;       
  1589.     short owTLoc;            
  1590.     short ascent;            
  1591.     short descent;           
  1592.     short leading;           
  1593.     short rowWords;          
  1594. };
  1595.  
  1596. typedef struct FontRec FontRec;
  1597.  
  1598. struct FMetricRec {
  1599.     Fixed ascent;            
  1600.     Fixed descent;           
  1601.     Fixed leading;           
  1602.     Fixed widMax;            
  1603.     Handle wTabHandle;       
  1604. };
  1605.  
  1606. typedef struct FMetricRec FMetricRec;
  1607.  
  1608. struct WidEntry {
  1609.     short widStyle;          
  1610. };
  1611.  
  1612. typedef struct WidEntry WidEntry;
  1613.  
  1614. struct WidTable {
  1615.     short numWidths;         
  1616. };
  1617.  
  1618. typedef struct WidTable WidTable;
  1619.  
  1620. struct AsscEntry {
  1621.     short fontSize;
  1622.     short fontStyle;
  1623.     short fontID;            
  1624. };
  1625.  
  1626. typedef struct AsscEntry AsscEntry;
  1627.  
  1628. struct FontAssoc {
  1629.     short numAssoc;          
  1630. };
  1631.  
  1632. typedef struct FontAssoc FontAssoc;
  1633.  
  1634. struct StyleTable {
  1635.     short fontClass;
  1636.     long offset;
  1637.     long reserved;
  1638.     char indexes[48];
  1639. };
  1640.  
  1641. typedef struct StyleTable StyleTable;
  1642.  
  1643. struct NameTable {
  1644.     short stringCount;
  1645.     Str255 baseFontName;
  1646. };
  1647.  
  1648. typedef struct NameTable NameTable;
  1649.  
  1650. struct KernPair {
  1651.     char kernFirst;          
  1652.     char kernSecond;         
  1653.     short kernWidth;         
  1654. };
  1655.  
  1656. typedef struct KernPair KernPair;
  1657.  
  1658. struct KernEntry {
  1659.     short kernLength;        
  1660.     short kernStyle;         
  1661. };
  1662.  
  1663. typedef struct KernEntry KernEntry;
  1664.  
  1665. struct KernTable {
  1666.     short numKerns;          
  1667. };
  1668.  
  1669. typedef struct KernTable KernTable;
  1670.  
  1671. struct WidthTable {
  1672.     Fixed tabData[256];      
  1673.     Handle tabFont;          
  1674.     long sExtra;             
  1675.     long style;              
  1676.     short fID;               
  1677.     short fSize;             
  1678.     short face;              
  1679.     short device;            
  1680.     Point inNumer;           
  1681.     Point inDenom;           
  1682.     short aFID;              
  1683.     Handle fHand;            
  1684.     Boolean usedFam;         
  1685.     unsigned char aFace;     
  1686.     short vOutput;           
  1687.     short hOutput;           
  1688.     short vFactor;           
  1689.     short hFactor;           
  1690.     short aSize;             
  1691.     short tabSize;           
  1692. };
  1693.  
  1694. typedef struct WidthTable WidthTable;
  1695.  
  1696. struct FamRec {
  1697.     short ffFlags;           
  1698.     short ffFamID;           
  1699.     short ffFirstChar;       
  1700.     short ffLastChar;        
  1701.     short ffAscent;          
  1702.     short ffDescent;         
  1703.     short ffLeading;         
  1704.     short ffWidMax;          
  1705.     long ffWTabOff;          
  1706.     long ffKernOff;          
  1707.     long ffStylOff;          
  1708.     short ffProperty[9];     
  1709.     short ffIntl[2];         
  1710.     short ffVersion;         
  1711. };
  1712.  
  1713. typedef struct FamRec FamRec;
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719. pascal void InitFonts(void)
  1720.     = 0xA8FE; 
  1721. pascal void GetFontName(short familyID,Str255 name)
  1722.     = 0xA8FF; 
  1723. pascal void GetFNum(ConstStr255Param name,short *familyID)
  1724.     = 0xA900; 
  1725. pascal Boolean RealFont(short fontNum,short size)
  1726.     = 0xA902; 
  1727. pascal void SetFontLock(Boolean lockFlag)
  1728.     = 0xA903; 
  1729. pascal FMOutPtr FMSwapFont(const FMInput *inRec)
  1730.     = 0xA901; 
  1731. pascal void SetFScaleDisable(Boolean fscaleDisable)
  1732.     = 0xA834; 
  1733. pascal void FontMetrics(const FMetricRec *theMetrics)
  1734.     = 0xA835; 
  1735. pascal void SetFractEnable(Boolean fractEnable); 
  1736. pascal Boolean IsOutline(Point numer,Point denom)
  1737.     = {0x7000,0xA854}; 
  1738. pascal void SetOutlinePreferred(Boolean outlinePreferred)
  1739.     = {0x7001,0xA854}; 
  1740. pascal Boolean GetOutlinePreferred(void)
  1741.     = {0x7009,0xA854}; 
  1742. pascal OSErr OutlineMetrics(short byteCount,const void *textPtr,Point numer,
  1743.     Point denom,short *yMax,short *yMin,FixedPtr awArray,FixedPtr lsbArray,
  1744.     RectPtr boundsArray)
  1745.     = {0x7008,0xA854}; 
  1746. pascal void SetPreserveGlyph(Boolean preserveGlyph)
  1747.     = {0x700A,0xA854}; 
  1748. pascal Boolean GetPreserveGlyph(void)
  1749.     = {0x700B,0xA854}; 
  1750. pascal OSErr FlushFonts(void)
  1751.     = {0x700C,0xA854}; 
  1752.  
  1753. void getfnum(char *theName,short *familyID); 
  1754. void getfontname(short familyID,char *theName); 
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761. # 9 "console.c" 2
  1762.  
  1763. # 1 "Memory.h" 1
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785. enum {
  1786.  
  1787.     maxSize = 0x800000,      
  1788.     defaultPhysicalEntryCount = 8,
  1789.  
  1790.  
  1791.     kPageInMemory = 0,
  1792.     kPageOnDisk = 1,
  1793.     kNotPaged = 2
  1794. };
  1795.  
  1796. typedef long Size;           
  1797. typedef pascal long (*GrowZoneProcPtr)(Size cbNeeded);
  1798.  
  1799. struct Zone {
  1800.     Ptr bkLim;
  1801.     Ptr purgePtr;
  1802.     Ptr hFstFree;
  1803.     long zcbFree;
  1804.     GrowZoneProcPtr gzProc;
  1805.     short moreMast;
  1806.     short flags;
  1807.     short cntRel;
  1808.     short maxRel;
  1809.     short cntNRel;
  1810.     short maxNRel;
  1811.     short cntEmpty;
  1812.     short cntHandles;
  1813.     long minCBFree;
  1814.     ProcPtr purgeProc;
  1815.     Ptr sparePtr;
  1816.     Ptr allocPtr;
  1817.     short heapData;
  1818. };
  1819.  
  1820. typedef struct Zone Zone;
  1821. typedef Zone *THz;
  1822.  
  1823. struct MemoryBlock {
  1824.     void * address;
  1825.     unsigned long count;
  1826. };
  1827.  
  1828. typedef struct MemoryBlock MemoryBlock;
  1829.  
  1830. struct LogicalToPhysicalTable {
  1831.     MemoryBlock logical;
  1832.     MemoryBlock physical[defaultPhysicalEntryCount];
  1833. };
  1834.  
  1835. typedef struct LogicalToPhysicalTable LogicalToPhysicalTable;
  1836.  
  1837.  
  1838. typedef short PageState;
  1839. typedef short StatusRegisterContents;
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845. #pragma parameter __A0 GetZone
  1846. pascal THz GetZone(void)
  1847.     = 0xA11A; 
  1848.  
  1849.  
  1850.  
  1851. #pragma parameter __A0 NewHandle(__D0)
  1852. pascal Handle NewHandle(Size byteCount)
  1853.     = 0xA122; 
  1854. #pragma parameter __A0 NewHandleSys(__D0)
  1855. pascal Handle NewHandleSys(Size byteCount)
  1856.     = 0xA522; 
  1857. #pragma parameter __A0 NewHandleClear(__D0)
  1858. pascal Handle NewHandleClear(Size byteCount)
  1859.     = 0xA322; 
  1860. #pragma parameter __A0 NewHandleSysClear(__D0)
  1861. pascal Handle NewHandleSysClear(Size byteCount)
  1862.     = 0xA722; 
  1863. #pragma parameter __A0 HandleZone(__A0)
  1864. pascal THz HandleZone(Handle h)
  1865.     = 0xA126; 
  1866. #pragma parameter __A0 RecoverHandle(__A0)
  1867. pascal Handle RecoverHandle(Ptr p)
  1868.     = 0xA128; 
  1869. #pragma parameter __A0 RecoverHandleSys(__A0)
  1870. pascal Handle RecoverHandleSys(Ptr p)
  1871.     = 0xA528; 
  1872. #pragma parameter __A0 NewPtr(__D0)
  1873. pascal Ptr NewPtr(Size byteCount)
  1874.     = 0xA11E; 
  1875. #pragma parameter __A0 NewPtrSys(__D0)
  1876. pascal Ptr NewPtrSys(Size byteCount)
  1877.     = 0xA51E; 
  1878. #pragma parameter __A0 NewPtrClear(__D0)
  1879. pascal Ptr NewPtrClear(Size byteCount)
  1880.     = 0xA31E; 
  1881. #pragma parameter __A0 NewPtrSysClear(__D0)
  1882. pascal Ptr NewPtrSysClear(Size byteCount)
  1883.     = 0xA71E; 
  1884. #pragma parameter __A0 PtrZone(__A0)
  1885. pascal THz PtrZone(Ptr p)
  1886.     = 0xA148; 
  1887.  
  1888.  
  1889. #pragma parameter __D0 MaxBlock
  1890. pascal long MaxBlock(void)
  1891.     = 0xA061; 
  1892. #pragma parameter __D0 MaxBlockSys
  1893. pascal long MaxBlockSys(void)
  1894.     = 0xA461; 
  1895. #pragma parameter __D0 StackSpace
  1896. pascal long StackSpace(void)
  1897.     = 0xA065; 
  1898. #pragma parameter __A0 NewEmptyHandle
  1899. pascal Handle NewEmptyHandle(void)
  1900.     = 0xA166; 
  1901. #pragma parameter __A0 NewEmptyHandleSys
  1902. pascal Handle NewEmptyHandleSys(void)
  1903.     = 0xA566; 
  1904. #pragma parameter HLock(__A0)
  1905. pascal void HLock(Handle h)
  1906.     = 0xA029; 
  1907. #pragma parameter HUnlock(__A0)
  1908. pascal void HUnlock(Handle h)
  1909.     = 0xA02A; 
  1910. #pragma parameter HPurge(__A0)
  1911. pascal void HPurge(Handle h)
  1912.     = 0xA049; 
  1913. #pragma parameter HNoPurge(__A0)
  1914. pascal void HNoPurge(Handle h)
  1915.     = 0xA04A; 
  1916. #pragma parameter HLockHi(__A0)
  1917. pascal void HLockHi(Handle h)
  1918.     = {0xA064,0xA029}; 
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924. pascal Ptr StripAddress(void *theAddress);
  1925.  
  1926. #pragma parameter __D0 Translate24To32(__D0)
  1927. pascal Ptr Translate24To32(void *addr24)
  1928.     = 0xA091; 
  1929. pascal Handle TempNewHandle(Size logicalSize,OSErr *resultCode)
  1930.     = {0x3F3C,0x001D,0xA88F}; 
  1931. pascal Size TempMaxMem(Size *grow)
  1932.     = {0x3F3C,0x0015,0xA88F}; 
  1933. pascal long TempFreeMem(void)
  1934.     = {0x3F3C,0x0018,0xA88F}; 
  1935.  
  1936. pascal void TempHLock(Handle h,OSErr *resultCode)
  1937.     = {0x3F3C,0x001E,0xA88F}; 
  1938. pascal void TempHUnlock(Handle h,OSErr *resultCode)
  1939.     = {0x3F3C,0x001F,0xA88F}; 
  1940. pascal void TempDisposeHandle(Handle h,OSErr *resultCode)
  1941.     = {0x3F3C,0x0020,0xA88F}; 
  1942. pascal Ptr TempTopMem(void)
  1943.     = {0x3F3C,0x0016,0xA88F}; 
  1944.  
  1945. pascal Size MFMaxMem(Size *grow)
  1946.     = {0x3F3C,0x0015,0xA88F}; 
  1947. pascal long MFFreeMem(void)
  1948.     = {0x3F3C,0x0018,0xA88F}; 
  1949. pascal Handle MFTempNewHandle(Size logicalSize,OSErr *resultCode)
  1950.     = {0x3F3C,0x001D,0xA88F}; 
  1951. pascal void MFTempHLock(Handle h,OSErr *resultCode)
  1952.     = {0x3F3C,0x001E,0xA88F}; 
  1953. pascal void MFTempHUnlock(Handle h,OSErr *resultCode)
  1954.     = {0x3F3C,0x001F,0xA88F}; 
  1955. pascal void MFTempDisposHandle(Handle h,OSErr *resultCode)
  1956.     = {0x3F3C,0x0020,0xA88F}; 
  1957. pascal Ptr MFTopMem(void)
  1958.     = {0x3F3C,0x0016,0xA88F}; 
  1959. pascal void InitApplZone(void)
  1960.     = 0xA02C; 
  1961. pascal void InitZone(GrowZoneProcPtr pgrowZone,short cmoreMasters,void *limitPtr,
  1962.     void *startPtr); 
  1963. #pragma parameter SetZone(__A0)
  1964. pascal void SetZone(THz hz)
  1965.     = 0xA01B; 
  1966. #pragma parameter __D0 CompactMem(__D0)
  1967. pascal Size CompactMem(Size cbNeeded)
  1968.     = 0xA04C; 
  1969. #pragma parameter __D0 CompactMemSys(__D0)
  1970. pascal Size CompactMemSys(Size cbNeeded)
  1971.     = 0xA44C; 
  1972. #pragma parameter PurgeMem(__D0)
  1973. pascal void PurgeMem(Size cbNeeded)
  1974.     = 0xA04D; 
  1975. #pragma parameter PurgeMemSys(__D0)
  1976. pascal void PurgeMemSys(Size cbNeeded)
  1977.     = 0xA44D; 
  1978. #pragma parameter __D0 FreeMem
  1979. pascal long FreeMem(void)
  1980.     = 0xA01C; 
  1981. #pragma parameter __D0 FreeMemSys
  1982. pascal long FreeMemSys(void)
  1983.     = 0xA41C; 
  1984. #pragma parameter ResrvMem(__D0)
  1985. pascal void ResrvMem(Size cbNeeded)
  1986.     = 0xA040; 
  1987. #pragma parameter ReserveMem(__D0)
  1988. pascal void ReserveMem(Size cbNeeded)
  1989.     = 0xA040; 
  1990. #pragma parameter ReserveMemSys(__D0)
  1991. pascal void ReserveMemSys(Size cbNeeded)
  1992.     = 0xA440; 
  1993. #pragma parameter __D0 MaxMem(__A1)
  1994. pascal Size MaxMem(Size *grow)
  1995.     = {0xA11D,0x2288}; 
  1996. #pragma parameter __D0 MaxMemSys(__A1)
  1997. pascal Size MaxMemSys(Size *grow)
  1998.     = {0xA51D,0x2288}; 
  1999. #pragma parameter SetGrowZone(__A0)
  2000. pascal void SetGrowZone(GrowZoneProcPtr growZone)
  2001.     = 0xA04B; 
  2002. #pragma parameter SetApplLimit(__A0)
  2003. pascal void SetApplLimit(void *zoneLimit)
  2004.     = 0xA02D; 
  2005. #pragma parameter MoveHHi(__A0)
  2006. pascal void MoveHHi(Handle h)
  2007.     = 0xA064; 
  2008. #pragma parameter DisposPtr(__A0)
  2009. pascal void DisposPtr(Ptr p)
  2010.     = 0xA01F; 
  2011. #pragma parameter DisposePtr(__A0)
  2012. pascal void DisposePtr(Ptr p)
  2013.     = 0xA01F; 
  2014. pascal Size GetPtrSize(Ptr p); 
  2015. #pragma parameter SetPtrSize(__A0,__D0)
  2016. pascal void SetPtrSize(Ptr p,Size newSize)
  2017.     = 0xA020; 
  2018. #pragma parameter DisposHandle(__A0)
  2019. pascal void DisposHandle(Handle h)
  2020.     = 0xA023; 
  2021. #pragma parameter DisposeHandle(__A0)
  2022. pascal void DisposeHandle(Handle h)
  2023.     = 0xA023; 
  2024. pascal Size GetHandleSize(Handle h); 
  2025. #pragma parameter SetHandleSize(__A0,__D0)
  2026. pascal void SetHandleSize(Handle h,Size newSize)
  2027.     = 0xA024; 
  2028. #pragma parameter EmptyHandle(__A0)
  2029. pascal void EmptyHandle(Handle h)
  2030.     = 0xA02B; 
  2031. #pragma parameter ReallocHandle(__A0,__D0)
  2032. pascal void ReallocHandle(Handle h,Size byteCount)
  2033.     = 0xA027; 
  2034. #pragma parameter ReallocateHandle(__A0,__D0)
  2035. pascal void ReallocateHandle(Handle h,Size byteCount)
  2036.     = 0xA027; 
  2037. #pragma parameter HSetRBit(__A0)
  2038. pascal void HSetRBit(Handle h)
  2039.     = 0xA067; 
  2040. #pragma parameter HClrRBit(__A0)
  2041. pascal void HClrRBit(Handle h)
  2042.     = 0xA068; 
  2043. pascal void MoreMasters(void)
  2044.     = 0xA036; 
  2045. #pragma parameter BlockMove(__A0,__A1,__D0)
  2046. pascal void BlockMove(const void *srcPtr,void *destPtr,Size byteCount)
  2047.     = 0xA02E; 
  2048.  
  2049. pascal void PurgeSpace(long *total,long *contig); 
  2050. #pragma parameter __D0 HGetState(__A0)
  2051. pascal char HGetState(Handle h)
  2052.     = 0xA069; 
  2053. #pragma parameter HSetState(__A0,__D0)
  2054. pascal void HSetState(Handle h,char flags)
  2055.     = 0xA06A; 
  2056. #pragma parameter SetApplBase(__A0)
  2057. pascal void SetApplBase(void *startPtr)
  2058.     = 0xA057; 
  2059. pascal void MaxApplZone(void)
  2060.     = 0xA063; 
  2061. #pragma parameter __D0 HoldMemory(__A0,__A1)
  2062. pascal OSErr HoldMemory(void *address,unsigned long count)
  2063.     = {0x7000,0xA05C}; 
  2064. #pragma parameter __D0 UnholdMemory(__A0,__A1)
  2065. pascal OSErr UnholdMemory(void *address,unsigned long count)
  2066.     = {0x7001,0xA05C}; 
  2067. #pragma parameter __D0 LockMemory(__A0,__A1)
  2068. pascal OSErr LockMemory(void *address,unsigned long count)
  2069.     = {0x7002,0xA05C}; 
  2070. #pragma parameter __D0 LockMemoryContiguous(__A0,__A1)
  2071. pascal OSErr LockMemoryContiguous(void *address,unsigned long count)
  2072.     = {0x7004,0xA05C}; 
  2073. #pragma parameter __D0 UnlockMemory(__A0,__A1)
  2074. pascal OSErr UnlockMemory(void *address,unsigned long count)
  2075.     = {0x7003,0xA05C}; 
  2076. pascal OSErr GetPhysical(LogicalToPhysicalTable *addresses,unsigned long *physicalEntryCount); 
  2077. #pragma parameter __D0 DeferUserFn(__A0,__D0)
  2078. pascal OSErr DeferUserFn(ProcPtr userFunction,void *argument)
  2079.     = 0xA08F; 
  2080. #pragma parameter __D0 DebuggerGetMax
  2081. pascal long DebuggerGetMax(void)
  2082.     = {0x7000,0xA08D}; 
  2083. pascal void DebuggerEnter(void)
  2084.     = {0x7001,0xA08D}; 
  2085. pascal void DebuggerExit(void)
  2086.     = {0x7002,0xA08D}; 
  2087. pascal void DebuggerPoll(void)
  2088.     = {0x7003,0xA08D}; 
  2089. #pragma parameter __D0 GetPageState(__A0)
  2090. pascal PageState GetPageState(const void *address)
  2091.     = {0x7004,0xA08D}; 
  2092. #pragma parameter __D0 PageFaultFatal
  2093. pascal Boolean PageFaultFatal(void)
  2094.     = {0x7005,0xA08D}; 
  2095. #pragma parameter __D0 DebuggerLockMemory(__A0,__A1)
  2096. pascal OSErr DebuggerLockMemory(void *address,unsigned long count)
  2097.     = {0x7006,0xA08D}; 
  2098. #pragma parameter __D0 DebuggerUnlockMemory(__A0,__A1)
  2099. pascal OSErr DebuggerUnlockMemory(void *address,unsigned long count)
  2100.     = {0x7007,0xA08D}; 
  2101. #pragma parameter __D0 EnterSupervisorMode
  2102. pascal StatusRegisterContents EnterSupervisorMode(void)
  2103.     = {0x7008,0xA08D}; 
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109. # 10 "console.c" 2
  2110.  
  2111. # 1 "OSEvents.h" 1
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137. # 1 "OSUtils.h" 1
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159. enum {
  2160.  
  2161.     useFree = 0,
  2162.     useATalk = 1,
  2163.     useAsync = 2,
  2164.     useExtClk = 3,       
  2165.     useMIDI = 4,
  2166.  
  2167.  
  2168.     curSysEnvVers = 2,   
  2169.  
  2170.  
  2171.     envMac = -1,
  2172.     envXL = -2,
  2173.     envMachUnknown = 0,
  2174.     env512KE = 1,
  2175.     envMacPlus = 2,
  2176.     envSE = 3,
  2177.     envMacII = 4,
  2178.     envMacIIx = 5,
  2179.     envMacIIcx = 6,
  2180.     envSE30 = 7,
  2181.     envPortable = 8,
  2182.     envMacIIci = 9,
  2183.     envMacIIfx = 11,
  2184.  
  2185.  
  2186.     envCPUUnknown = 0
  2187. };
  2188. enum {
  2189.     env68000 = 1,
  2190.     env68010 = 2,
  2191.     env68020 = 3,
  2192.     env68030 = 4,
  2193.     env68040 = 5,
  2194.  
  2195.  
  2196.     envUnknownKbd = 0,
  2197.     envMacKbd = 1,
  2198.     envMacAndPad = 2,
  2199.     envMacPlusKbd = 3,
  2200.     envAExtendKbd = 4,
  2201.     envStandADBKbd = 5,
  2202.     envPrtblADBKbd = 6,
  2203.     envPrtblISOKbd = 7,
  2204.     envStdISOADBKbd = 8,
  2205.     envExtISOADBKbd = 9,
  2206.     false32b = 0,        
  2207.     true32b = 1,         
  2208.  
  2209.  
  2210.     sortsBefore = -1,    
  2211.     sortsEqual = 0,      
  2212.     sortsAfter = 1       
  2213. };
  2214.  
  2215.  
  2216. enum {dummyType,vType,ioQType,drvQType,evType,fsQType,sIQType,dtQType};
  2217. typedef unsigned short QTypes;
  2218.  
  2219. enum {OSTrap,ToolTrap};
  2220. typedef unsigned char TrapType;
  2221.  
  2222.  
  2223. struct SysParmType {
  2224.     char valid;
  2225.     char aTalkA;
  2226.     char aTalkB;
  2227.     char config;
  2228.     short portA;
  2229.     short portB;
  2230.     long alarm;
  2231.     short font;
  2232.     short kbdPrint;
  2233.     short volClik;
  2234.     short misc;
  2235. };
  2236.  
  2237. typedef struct SysParmType SysParmType;
  2238. typedef SysParmType *SysPPtr;
  2239.  
  2240. struct QElem {
  2241.     struct QElem *qLink;
  2242.     short qType;
  2243.     short qData[1];
  2244. };
  2245.  
  2246. typedef struct QElem QElem;
  2247. typedef QElem *QElemPtr;
  2248.  
  2249. struct QHdr {
  2250.     short qFlags;
  2251.     QElemPtr qHead;
  2252.     QElemPtr qTail;
  2253. };
  2254.  
  2255. typedef struct QHdr QHdr;
  2256. typedef QHdr *QHdrPtr;
  2257.  
  2258. struct DateTimeRec {
  2259.     short year;
  2260.     short month;
  2261.     short day;
  2262.     short hour;
  2263.     short minute;
  2264.     short second;
  2265.     short dayOfWeek;
  2266. };
  2267.  
  2268. typedef struct DateTimeRec DateTimeRec;
  2269.  
  2270. struct SysEnvRec {
  2271.     short environsVersion;
  2272.     short machineType;
  2273.     short systemVersion;
  2274.     short processor;
  2275.     Boolean hasFPU;
  2276.     Boolean hasColorQD;
  2277.     short keyBoardType;
  2278.     short atDrvrVersNum;
  2279.     short sysVRefNum;
  2280. };
  2281.  
  2282. typedef struct SysEnvRec SysEnvRec;
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289. pascal void SysBeep(short duration)
  2290.     = 0xA9C8; 
  2291. pascal long KeyTrans(const void *transData,short keycode,long *state)
  2292.     = 0xA9C3; 
  2293. #pragma parameter __D0 DTInstall(__A0)
  2294. pascal OSErr DTInstall(QElemPtr dtTaskPtr)
  2295.     = 0xA082; 
  2296.  
  2297. #pragma parameter SwapMMUMode(__A0)
  2298. pascal void SwapMMUMode(char *mode)
  2299.     = {0x1010,0xA05D,0x1080}; 
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305. pascal OSErr SysEnvirons(short versionRequested,SysEnvRec *theWorld);
  2306.  
  2307. #pragma parameter __D0 ReadDateTime(__A0)
  2308. pascal OSErr ReadDateTime(unsigned long *time)
  2309.     = 0xA039; 
  2310. #pragma parameter GetDateTime(__A0)
  2311. pascal void GetDateTime(unsigned long *secs)
  2312.     = {0x20B8,0x020C}; 
  2313. #pragma parameter __D0 SetDateTime(__D0)
  2314. pascal OSErr SetDateTime(unsigned long time)
  2315.     = 0xA03A; 
  2316. #pragma parameter SetTime(__A0)
  2317. pascal void SetTime(const DateTimeRec *d)
  2318.     = {0xA9C7,0xA03A}; 
  2319. #pragma parameter GetTime(__A0)
  2320. pascal void GetTime(DateTimeRec *d)
  2321.     = {0x2038,0x020C,0xA9C6}; 
  2322. pascal void Date2Secs(const DateTimeRec *d,unsigned long *secs); 
  2323. #pragma parameter Secs2Date(__D0,__A0)
  2324. pascal void Secs2Date(unsigned long secs,DateTimeRec *d)
  2325.     = 0xA9C6; 
  2326. #pragma parameter Delay(__A0,__A1)
  2327. pascal void Delay(long numTicks,long *finalTicks)
  2328.     = {0xA03B,0x2280}; 
  2329. #pragma parameter __A0 GetTrapAddress(__D0)
  2330. pascal long GetTrapAddress(short trapNum)
  2331.     = 0xA146; 
  2332. #pragma parameter SetTrapAddress(__A0,__D0)
  2333. pascal void SetTrapAddress(long trapAddr,short trapNum)
  2334.     = 0xA047; 
  2335. pascal long NGetTrapAddress(short trapNum,TrapType tTyp); 
  2336. pascal void NSetTrapAddress(long trapAddr,short trapNum,TrapType tTyp); 
  2337. #pragma parameter __A0 GetOSTrapAddress(__D0)
  2338. pascal long GetOSTrapAddress(short trapNum)
  2339.     = 0xA346; 
  2340. #pragma parameter SetOSTrapAddress(__A0,__D0)
  2341. pascal void SetOSTrapAddress(long trapAddr,short trapNum)
  2342.     = 0xA247; 
  2343. #pragma parameter __A0 GetToolTrapAddress(__D0)
  2344. pascal long GetToolTrapAddress(short trapNum)
  2345.     = 0xA746; 
  2346. #pragma parameter SetToolTrapAddress(__A0,__D0)
  2347. pascal void SetToolTrapAddress(long trapAddr,short trapNum)
  2348.     = 0xA647; 
  2349. #pragma parameter __A0 GetToolboxTrapAddress(__D0)
  2350. pascal long GetToolboxTrapAddress(short trapNum)
  2351.     = 0xA746; 
  2352. #pragma parameter SetToolboxTrapAddress(__A0,__D0)
  2353. pascal void SetToolboxTrapAddress(long trapAddr,short trapNum)
  2354.     = 0xA647; 
  2355. pascal OSErr WriteParam(void); 
  2356. pascal Boolean EqualString(ConstStr255Param str1,ConstStr255Param str2,
  2357.     Boolean caseSens,Boolean diacSens); 
  2358.  
  2359. Boolean equalstring(char *str1,char *str2,Boolean caseSens,Boolean diacSens); 
  2360.  
  2361. pascal void UprString(Str255 theString,Boolean diacSens); 
  2362.  
  2363. void uprstring(char *theString,Boolean diacSens); 
  2364.  
  2365. #pragma parameter Enqueue(__A0,__A1)
  2366. pascal void Enqueue(QElemPtr qElement,QHdrPtr qHeader)
  2367.     = 0xA96F; 
  2368. #pragma parameter __D0 Dequeue(__A0,__A1)
  2369. pascal OSErr Dequeue(QElemPtr qElement,QHdrPtr qHeader)
  2370.     = 0xA96E; 
  2371. long SetCurrentA5(void)
  2372.     = {0x200D,0x2A78,0x0904}; 
  2373. #pragma parameter __D0 SetA5(__D0)
  2374. long SetA5(long newA5)
  2375.     = 0xC18D; 
  2376. pascal void Environs(short *rom,short *machine); 
  2377. pascal short RelString(ConstStr255Param str1,ConstStr255Param str2,Boolean caseSens,
  2378.     Boolean diacSens); 
  2379.  
  2380. short relstring(char *str1,char *str2,Boolean caseSens,Boolean diacSens); 
  2381.  
  2382. pascal OSErr HandToHand(Handle *theHndl); 
  2383. #pragma parameter __D0 PtrToXHand(__A0,__A1,__D0)
  2384. pascal OSErr PtrToXHand(const void *srcPtr,Handle dstHndl,long size)
  2385.     = 0xA9E2; 
  2386. pascal OSErr PtrToHand(const void *srcPtr,Handle *dstHndl,long size); 
  2387. #pragma parameter __D0 HandAndHand(__A0,__A1)
  2388. pascal OSErr HandAndHand(Handle hand1,Handle hand2)
  2389.     = 0xA9E4; 
  2390. #pragma parameter __D0 PtrAndHand(__A0,__A1,__D0)
  2391. pascal OSErr PtrAndHand(const void *ptr1,Handle hand2,long size)
  2392.     = 0xA9EF; 
  2393. #pragma parameter __D0 InitUtil
  2394. pascal OSErr InitUtil(void)
  2395.     = 0xA03F; 
  2396. pascal Boolean SwapInstructionCache(Boolean cacheEnable); 
  2397. pascal void FlushInstructionCache(void); 
  2398. pascal Boolean SwapDataCache(Boolean cacheEnable); 
  2399. pascal void FlushDataCache(void); 
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405. # 26 "OSEvents.h" 2
  2406.  
  2407.  
  2408.  
  2409.  
  2410. struct EvQEl {
  2411.     QElemPtr qLink;
  2412.     short qType;
  2413.     short evtQWhat;      
  2414.     long evtQMessage;    
  2415.     long evtQWhen;
  2416.     Point evtQWhere;
  2417.     short evtQModifiers;
  2418. };
  2419.  
  2420. typedef struct EvQEl EvQEl;
  2421. typedef EvQEl *EvQElPtr;
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427. #pragma parameter __D0 PostEvent(__A0,__D0)
  2428. pascal OSErr PostEvent(short eventNum,long eventMsg)
  2429.     = 0xA02F; 
  2430. #pragma parameter __D0 PPostEvent(__A0,__D0,__A1)
  2431. pascal OSErr PPostEvent(short eventCode,long eventMsg,EvQElPtr *qEl)
  2432.     = {0xA12F,0x2288}; 
  2433. #pragma parameter __D0 OSEventAvail(__D0,__A0)
  2434. pascal Boolean OSEventAvail(short mask,EventRecord *theEvent)
  2435.     = {0xA030,0x5240}; 
  2436. #pragma parameter __D0 GetOSEvent(__D0,__A0)
  2437. pascal Boolean GetOSEvent(short mask,EventRecord *theEvent)
  2438.     = {0xA031,0x5240}; 
  2439. pascal void FlushEvents(short whichMask,short stopMask)
  2440.     = {0x201F,0xA032}; 
  2441. #pragma parameter SetEventMask(__D0)
  2442. pascal void SetEventMask(short theMask)
  2443.     = {0x31C0,0x0144}; 
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450. # 11 "console.c" 2
  2451.  
  2452. # 1 "ToolUtils.h" 1
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474. enum {
  2475.  
  2476.     sysPatListID = 0,
  2477.     iBeamCursor = 1,
  2478.     crossCursor = 2,
  2479.     plusCursor = 3,
  2480.     watchCursor = 4
  2481. };
  2482.  
  2483. struct Int64Bit {
  2484.     long hiLong;
  2485.     long loLong;
  2486. };
  2487.  
  2488. typedef struct Int64Bit Int64Bit;
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494. pascal Fixed FixRatio(short numer,short denom)
  2495.     = 0xA869; 
  2496. pascal Fixed FixMul(Fixed a,Fixed b)
  2497.     = 0xA868; 
  2498. pascal short FixRound(Fixed x)
  2499.     = 0xA86C; 
  2500. pascal StringHandle GetString(short stringID)
  2501.     = 0xA9BA; 
  2502. pascal long Munger(Handle h,long offset,const void *ptr1,long len1,const void *ptr2,
  2503.     long len2)
  2504.     = 0xA9E0; 
  2505. pascal void PackBits(Ptr *srcPtr,Ptr *dstPtr,short srcBytes)
  2506.     = 0xA8CF; 
  2507. pascal void UnpackBits(Ptr *srcPtr,Ptr *dstPtr,short dstBytes)
  2508.     = 0xA8D0; 
  2509. pascal Boolean BitTst(const void *bytePtr,long bitNum)
  2510.     = 0xA85D; 
  2511. pascal void BitSet(void *bytePtr,long bitNum)
  2512.     = 0xA85E; 
  2513. pascal void BitClr(void *bytePtr,long bitNum)
  2514.     = 0xA85F; 
  2515. pascal long BitAnd(long value1,long value2)
  2516.     = 0xA858; 
  2517. pascal long BitOr(long value1,long value2)
  2518.     = 0xA85B; 
  2519. pascal long BitXor(long value1,long value2)
  2520.     = 0xA859; 
  2521. pascal long BitNot(long value)
  2522.     = 0xA85A; 
  2523. pascal long BitShift(long value,short count)
  2524.     = 0xA85C; 
  2525. pascal short HiWord(long x)
  2526.     = 0xA86A; 
  2527. pascal short LoWord(long x)
  2528.     = 0xA86B; 
  2529. pascal void LongMul(long a,long b,Int64Bit *result)
  2530.     = 0xA867; 
  2531. pascal Handle GetIcon(short iconID)
  2532.     = 0xA9BB; 
  2533. pascal void PlotIcon(const Rect *theRect,Handle theIcon)
  2534.     = 0xA94B; 
  2535. pascal PatHandle GetPattern(short patternID)
  2536.     = 0xA9B8; 
  2537. pascal CursHandle GetCursor(short cursorID)
  2538.     = 0xA9B9; 
  2539. pascal PicHandle GetPicture(short pictureID)
  2540.     = 0xA9BC; 
  2541. pascal Fixed SlopeFromAngle(short angle)
  2542.     = 0xA8BC; 
  2543. pascal short AngleFromSlope(Fixed slope)
  2544.     = 0xA8C4; 
  2545.  
  2546. StringHandle newstring(char *theString); 
  2547.  
  2548. pascal void SetString(StringHandle theString,ConstStr255Param strNew)
  2549.     = 0xA907; 
  2550. pascal long DeltaPoint(Point ptA,Point ptB)
  2551.     = 0xA94F; 
  2552. pascal StringHandle NewString(ConstStr255Param theString)
  2553.     = 0xA906; 
  2554. pascal void ShieldCursor(const Rect *shieldRect,Point offsetPt)
  2555.     = 0xA855; 
  2556. pascal void GetIndString(Str255 theString,short strListID,short index); 
  2557.  
  2558. void getindstring(char *theString,short strListID,short index); 
  2559.  
  2560. pascal void ScreenRes(short *scrnHRes,short *scrnVRes)
  2561.     = {0x225F,0x32B8,0x0102,0x225F,0x32B8,0x0104}; 
  2562. pascal void GetIndPattern(Pattern thePat,short patternListID,short index); 
  2563.  
  2564. void setstring(StringHandle theString,char *strNew); 
  2565. void shieldcursor(const Rect *shieldRect,Point *offsetPt); 
  2566. long deltapoint(Point *ptA,Point *ptB); 
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573. # 12 "console.c" 2
  2574.  
  2575. # 1 "SegLoad.h" 1
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597. enum {
  2598.  
  2599.     appOpen = 0,     
  2600.     appPrint = 1     
  2601. };
  2602.  
  2603. struct AppFile {
  2604.     short vRefNum;
  2605.     OSType fType;
  2606.     short versNum;   
  2607.     Str255 fName;
  2608. };
  2609.  
  2610. typedef struct AppFile AppFile;
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616. pascal void UnloadSeg(void * routineAddr)
  2617.     = 0xA9F1; 
  2618. pascal void ExitToShell(void)
  2619.     = 0xA9F4; 
  2620. pascal void GetAppParms(Str255 apName,short *apRefNum,Handle *apParam)
  2621.     = 0xA9F5; 
  2622. pascal void CountAppFiles(short *message,short *count); 
  2623. pascal void GetAppFiles(short index,AppFile *theFile); 
  2624. pascal void ClrAppFiles(short index); 
  2625.  
  2626. void getappparms(char *apName,short *apRefNum,Handle *apParam); 
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633. # 13 "console.c" 2
  2634.  
  2635. # 1 "Windows.h" 1
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661. # 1 "Controls.h" 1
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683. enum {
  2684.  
  2685.     pushButProc = 0,
  2686.     checkBoxProc = 1,
  2687.     radioButProc = 2,
  2688.     useWFont = 8,
  2689.     scrollBarProc = 16,
  2690.     inButton = 10,
  2691.     inCheckBox = 11,
  2692.     inUpButton = 20,
  2693.     inDownButton = 21,
  2694.     inPageUp = 22,
  2695.     inPageDown = 23,
  2696.     inThumb = 129,
  2697.  
  2698.     popupMenuProc = 1008,    
  2699.     inLabel = 1,
  2700.     inMenu = 2,
  2701.     inTriangle = 4
  2702. };
  2703.  
  2704. enum {    popupFixedWidth        = 1 << 0,    popupReserved            = 1 << 1,    popupUseAddResMenu    = 1 << 2,
  2705.         popupUseWFont        = 1 << 3};
  2706.  
  2707. enum {    popupTitleBold        = 1 << 8,    popupTitleItalic    = 1 << 9,    popupTitleUnderline    = 1 << 10,
  2708.         popupTitleOutline    = 1 << 11,    popupTitleShadow    = 1 << 12,    popupTitleCondense    = 1 << 13,
  2709.         popupTitleExtend    = 1 << 14,    popupTitleNoStyle    = 1 << 15};
  2710.  
  2711.  
  2712. enum {
  2713.  
  2714.     popupTitleLeftJust = 0x00000000,
  2715.     popupTitleCenterJust = 0x00000001,
  2716.     popupTitleRightJust = 0x000000FF,
  2717.  
  2718.  
  2719.  
  2720.     noConstraint = 0,
  2721.     hAxisOnly = 1,
  2722.     vAxisOnly = 2,
  2723.  
  2724.  
  2725.  
  2726.     drawCntl = 0,
  2727.     testCntl = 1,
  2728.     calcCRgns = 2,
  2729.     initCntl = 3,
  2730.     dispCntl = 4,
  2731.     posCntl = 5,
  2732.     thumbCntl = 6,
  2733.     dragCntl = 7,
  2734.     autoTrack = 8,
  2735.     calcCntlRgn = 10,
  2736.     calcThumbRgn = 11,
  2737.  
  2738.     cFrameColor = 0,
  2739.     cBodyColor = 1,
  2740.     cTextColor = 2
  2741. };
  2742. enum {
  2743.     cThumbColor = 3
  2744. };
  2745.  
  2746. struct ControlRecord {
  2747.     struct ControlRecord **nextControl;
  2748.     WindowPtr contrlOwner;
  2749.     Rect contrlRect;
  2750.     unsigned char contrlVis;
  2751.     unsigned char contrlHilite;
  2752.     short contrlValue;
  2753.     short contrlMin;
  2754.     short contrlMax;
  2755.     Handle contrlDefProc;
  2756.     Handle contrlData;
  2757.     ProcPtr contrlAction;
  2758.     long contrlRfCon;
  2759.     Str255 contrlTitle;
  2760. };
  2761.  
  2762. typedef struct ControlRecord ControlRecord;
  2763. typedef ControlRecord *ControlPtr, **ControlHandle;
  2764.  
  2765. struct CtlCTab {
  2766.     long ccSeed;             
  2767.     short ccRider;           
  2768.     short ctSize;            
  2769.     ColorSpec ctTable[4];
  2770. };
  2771.  
  2772. typedef struct CtlCTab CtlCTab;
  2773. typedef CtlCTab *CCTabPtr, **CCTabHandle;
  2774.  
  2775. struct AuxCtlRec {
  2776.     Handle acNext;           
  2777.     ControlHandle acOwner;   
  2778.     CCTabHandle acCTable;    
  2779.     short acFlags;           
  2780.     long acReserved;         
  2781.     long acRefCon;           
  2782. };
  2783.  
  2784. typedef struct AuxCtlRec AuxCtlRec;
  2785. typedef AuxCtlRec *AuxCtlPtr, **AuxCtlHandle;
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791. pascal ControlHandle NewControl(WindowPtr theWindow,const Rect *boundsRect,
  2792.     ConstStr255Param title,Boolean visible,short value,short min,short max,
  2793.     short procID,long refCon)
  2794.     = 0xA954; 
  2795. pascal void SetCTitle(ControlHandle theControl,ConstStr255Param title)
  2796.     = 0xA95F; 
  2797. pascal void GetCTitle(ControlHandle theControl,Str255 title)
  2798.     = 0xA95E; 
  2799. pascal ControlHandle GetNewControl(short controlID,WindowPtr owner)
  2800.     = 0xA9BE; 
  2801. pascal void DisposeControl(ControlHandle theControl)
  2802.     = 0xA955; 
  2803. pascal void KillControls(WindowPtr theWindow)
  2804.     = 0xA956; 
  2805. pascal void HideControl(ControlHandle theControl)
  2806.     = 0xA958; 
  2807. pascal void ShowControl(ControlHandle theControl)
  2808.     = 0xA957; 
  2809. pascal void DrawControls(WindowPtr theWindow)
  2810.     = 0xA969; 
  2811. pascal void Draw1Control(ControlHandle theControl)
  2812.     = 0xA96D; 
  2813. pascal void HiliteControl(ControlHandle theControl,short hiliteState)
  2814.     = 0xA95D; 
  2815. pascal void UpdtControl(WindowPtr theWindow,RgnHandle updateRgn)
  2816.     = 0xA953; 
  2817. pascal void UpdateControls(WindowPtr theWindow,RgnHandle updateRgn)
  2818.     = 0xA953; 
  2819. pascal void MoveControl(ControlHandle theControl,short h,short v)
  2820.     = 0xA959; 
  2821. pascal void SizeControl(ControlHandle theControl,short w,short h)
  2822.     = 0xA95C; 
  2823. pascal void SetCtlValue(ControlHandle theControl,short theValue)
  2824.     = 0xA963; 
  2825. pascal short GetCtlValue(ControlHandle theControl)
  2826.     = 0xA960; 
  2827. pascal void SetCtlMin(ControlHandle theControl,short minValue)
  2828.     = 0xA964; 
  2829. pascal short GetCtlMin(ControlHandle theControl)
  2830.     = 0xA961; 
  2831. pascal void SetCtlMax(ControlHandle theControl,short maxValue)
  2832.     = 0xA965; 
  2833. pascal short GetCtlMax(ControlHandle theControl)
  2834.     = 0xA962; 
  2835. pascal void SetCRefCon(ControlHandle theControl,long data)
  2836.     = 0xA95B; 
  2837. pascal long GetCRefCon(ControlHandle theControl)
  2838.     = 0xA95A; 
  2839. pascal void SetCtlAction(ControlHandle theControl,ProcPtr actionProc)
  2840.     = 0xA96B; 
  2841. pascal ProcPtr GetCtlAction(ControlHandle theControl)
  2842.     = 0xA96A; 
  2843. pascal void DragControl(ControlHandle theControl,Point startPt,const Rect *limitRect,
  2844.     const Rect *slopRect,short axis)
  2845.     = 0xA967; 
  2846. pascal short TestControl(ControlHandle theControl,Point thePt)
  2847.     = 0xA966; 
  2848. pascal short TrackControl(ControlHandle theControl,Point thePoint,ProcPtr actionProc)
  2849.     = 0xA968; 
  2850. pascal short FindControl(Point thePoint,WindowPtr theWindow,ControlHandle *theControl)
  2851.     = 0xA96C; 
  2852. pascal void SetCtlColor(ControlHandle theControl,CCTabHandle newColorTable)
  2853.     = 0xAA43; 
  2854. pascal Boolean GetAuxCtl(ControlHandle theControl,AuxCtlHandle *acHndl)
  2855.     = 0xAA44; 
  2856. pascal short GetCVariant(ControlHandle theControl)
  2857.     = 0xA809; 
  2858.  
  2859. void dragcontrol(ControlHandle theControl,Point *startPt,const Rect *limitRect,
  2860.     const Rect *slopRect,short axis); 
  2861. ControlHandle newcontrol(WindowPtr theWindow,const Rect *boundsRect,char *title,
  2862.     Boolean visible,short value,short min,short max,short procID,long refCon); 
  2863. short findcontrol(Point *thePoint,WindowPtr theWindow,ControlHandle *theControl); 
  2864. void getctitle(ControlHandle theControl,char *title); 
  2865. void setctitle(ControlHandle theControl,char *title); 
  2866. short trackcontrol(ControlHandle theControl,Point *thePoint,ProcPtr actionProc); 
  2867. short testcontrol(ControlHandle theControl,Point *thePt); 
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874. # 26 "Windows.h" 2
  2875.  
  2876.  
  2877.  
  2878.  
  2879. enum {
  2880.  
  2881.     documentProc = 0,
  2882.     dBoxProc = 1,
  2883.     plainDBox = 2,
  2884.     altDBoxProc = 3,
  2885.     noGrowDocProc = 4,
  2886.     movableDBoxProc = 5,
  2887.     zoomDocProc = 8,
  2888.     zoomNoGrow = 12,
  2889.     rDocProc = 16,
  2890.     dialogKind = 2,
  2891.     userKind = 8,
  2892.  
  2893.  
  2894.     inDesk = 0,
  2895.     inMenuBar = 1,
  2896.     inSysWindow = 2,
  2897.     inContent = 3,
  2898.     inDrag = 4,
  2899.     inGrow = 5,
  2900.     inGoAway = 6,
  2901.     inZoomIn = 7,
  2902.     inZoomOut = 8
  2903. };
  2904. enum {
  2905.  
  2906.  
  2907.     wDraw = 0,
  2908.     wHit = 1,
  2909.     wCalcRgns = 2,
  2910.     wNew = 3,
  2911.     wDispose = 4,
  2912.     wGrow = 5,
  2913.     wDrawGIcon = 6,
  2914.  
  2915.  
  2916.     wNoHit = 0,
  2917.     wInContent = 1,
  2918.     wInDrag = 2,
  2919.     wInGrow = 3,
  2920.     wInGoAway = 4,
  2921.     wInZoomIn = 5,
  2922.     wInZoomOut = 6,
  2923.     deskPatID = 16,
  2924.  
  2925.  
  2926.     wContentColor = 0,
  2927.     wFrameColor = 1,
  2928.     wTextColor = 2,
  2929.     wHiliteColor = 3,
  2930.     wTitleBarColor = 4
  2931. };
  2932.  
  2933.  
  2934. typedef pascal void (*DragGrayRgnProcPtr)(void);
  2935.  
  2936. struct WindowRecord {
  2937.     GrafPort port;
  2938.     short windowKind;
  2939.     Boolean visible;
  2940.     Boolean hilited;
  2941.     Boolean goAwayFlag;
  2942.     Boolean spareFlag;
  2943.     RgnHandle strucRgn;
  2944.     RgnHandle contRgn;
  2945.     RgnHandle updateRgn;
  2946.     Handle windowDefProc;
  2947.     Handle dataHandle;
  2948.     StringHandle titleHandle;
  2949.     short titleWidth;
  2950.     ControlHandle controlList;
  2951.     struct WindowRecord *nextWindow;
  2952.     PicHandle windowPic;
  2953.     long refCon;
  2954. };
  2955.  
  2956. typedef struct WindowRecord WindowRecord;
  2957. typedef WindowRecord *WindowPeek;
  2958.  
  2959.  
  2960. struct CWindowRecord {
  2961.     CGrafPort port;
  2962.     short windowKind;
  2963.     Boolean visible;
  2964.     Boolean hilited;
  2965.     Boolean goAwayFlag;
  2966.     Boolean spareFlag;
  2967.     RgnHandle strucRgn;
  2968.     RgnHandle contRgn;
  2969.     RgnHandle updateRgn;
  2970.     Handle windowDefProc;
  2971.     Handle dataHandle;
  2972.     StringHandle titleHandle;
  2973.     short titleWidth;
  2974.     ControlHandle controlList;
  2975.     struct CWindowRecord *nextWindow;
  2976.     PicHandle windowPic;
  2977.     long refCon;
  2978. };
  2979.  
  2980. typedef struct CWindowRecord CWindowRecord;
  2981. typedef CWindowRecord *CWindowPeek;
  2982.  
  2983.  
  2984. struct WStateData {
  2985.     Rect userState;              
  2986.     Rect stdState;               
  2987. };
  2988.  
  2989. typedef struct WStateData WStateData;
  2990. typedef WStateData *WStateDataPtr, **WStateDataHandle;
  2991.  
  2992.  
  2993. struct AuxWinRec {
  2994.     struct AuxWinRec **awNext;   
  2995.     WindowPtr awOwner;           
  2996.     CTabHandle awCTable;         
  2997.     Handle dialogCItem;          
  2998.     long awFlags;                
  2999.     CTabHandle awReserved;       
  3000.     long awRefCon;               
  3001. };
  3002.  
  3003. typedef struct AuxWinRec AuxWinRec;
  3004. typedef AuxWinRec *AuxWinPtr, **AuxWinHandle;
  3005.  
  3006.  
  3007. struct WinCTab {
  3008.     long wCSeed;                 
  3009.     short wCReserved;            
  3010.     short ctSize;                
  3011.     ColorSpec ctTable[5];
  3012. };
  3013.  
  3014. typedef struct WinCTab WinCTab;
  3015. typedef WinCTab *WCTabPtr, **WCTabHandle;
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022. pascal void InitWindows(void)
  3023.     = 0xA912; 
  3024. pascal void GetWMgrPort(GrafPtr *wPort)
  3025.     = 0xA910; 
  3026. pascal WindowPtr NewWindow(void *wStorage,const Rect *boundsRect,ConstStr255Param title,
  3027.     Boolean visible,short theProc,WindowPtr behind,Boolean goAwayFlag,long refCon)
  3028.     = 0xA913; 
  3029. pascal WindowPtr GetNewWindow(short windowID,void *wStorage,WindowPtr behind)
  3030.     = 0xA9BD; 
  3031. pascal void CloseWindow(WindowPtr theWindow)
  3032.     = 0xA92D; 
  3033. pascal void DisposeWindow(WindowPtr theWindow)
  3034.     = 0xA914; 
  3035.  
  3036. void setwtitle(WindowPtr theWindow,char *title); 
  3037.  
  3038. pascal void GetWTitle(WindowPtr theWindow,Str255 title)
  3039.     = 0xA919; 
  3040. pascal void SelectWindow(WindowPtr theWindow)
  3041.     = 0xA91F; 
  3042. pascal void HideWindow(WindowPtr theWindow)
  3043.     = 0xA916; 
  3044. pascal void ShowWindow(WindowPtr theWindow)
  3045.     = 0xA915; 
  3046. pascal void ShowHide(WindowPtr theWindow,Boolean showFlag)
  3047.     = 0xA908; 
  3048. pascal void HiliteWindow(WindowPtr theWindow,Boolean fHilite)
  3049.     = 0xA91C; 
  3050. pascal void BringToFront(WindowPtr theWindow)
  3051.     = 0xA920; 
  3052. pascal void SendBehind(WindowPtr theWindow,WindowPtr behindWindow)
  3053.     = 0xA921; 
  3054. pascal WindowPtr FrontWindow(void)
  3055.     = 0xA924; 
  3056. pascal void DrawGrowIcon(WindowPtr theWindow)
  3057.     = 0xA904; 
  3058. pascal void MoveWindow(WindowPtr theWindow,short hGlobal,short vGlobal,
  3059.     Boolean front)
  3060.     = 0xA91B; 
  3061. pascal void SizeWindow(WindowPtr theWindow,short w,short h,Boolean fUpdate)
  3062.     = 0xA91D; 
  3063. pascal void ZoomWindow(WindowPtr theWindow,short partCode,Boolean front)
  3064.     = 0xA83A; 
  3065. pascal void InvalRect(const Rect *badRect)
  3066.     = 0xA928; 
  3067. pascal void InvalRgn(RgnHandle badRgn)
  3068.     = 0xA927; 
  3069. pascal void ValidRect(const Rect *goodRect)
  3070.     = 0xA92A; 
  3071. pascal void ValidRgn(RgnHandle goodRgn)
  3072.     = 0xA929; 
  3073. pascal void BeginUpdate(WindowPtr theWindow)
  3074.     = 0xA922; 
  3075. pascal void EndUpdate(WindowPtr theWindow)
  3076.     = 0xA923; 
  3077. pascal void SetWRefCon(WindowPtr theWindow,long data)
  3078.     = 0xA918; 
  3079. pascal long GetWRefCon(WindowPtr theWindow)
  3080.     = 0xA917; 
  3081. pascal void SetWindowPic(WindowPtr theWindow,PicHandle pic)
  3082.     = 0xA92E; 
  3083. pascal PicHandle GetWindowPic(WindowPtr theWindow)
  3084.     = 0xA92F; 
  3085. pascal Boolean CheckUpdate(EventRecord *theEvent)
  3086.     = 0xA911; 
  3087. pascal void ClipAbove(WindowPeek window)
  3088.     = 0xA90B; 
  3089. pascal void SaveOld(WindowPeek window)
  3090.     = 0xA90E; 
  3091. pascal void DrawNew(WindowPeek window,Boolean update)
  3092.     = 0xA90F; 
  3093. pascal void PaintOne(WindowPeek window,RgnHandle clobberedRgn)
  3094.     = 0xA90C; 
  3095. pascal void PaintBehind(WindowPeek startWindow,RgnHandle clobberedRgn)
  3096.     = 0xA90D; 
  3097. pascal void CalcVis(WindowPeek window)
  3098.     = 0xA909; 
  3099. pascal void CalcVisBehind(WindowPeek startWindow,RgnHandle clobberedRgn)
  3100.     = 0xA90A; 
  3101. pascal long GrowWindow(WindowPtr theWindow,Point startPt,const Rect *bBox)
  3102.     = 0xA92B; 
  3103.  
  3104. Boolean trackgoaway(WindowPtr theWindow,Point *thePt); 
  3105.  
  3106. pascal short FindWindow(Point thePoint,WindowPtr *theWindow)
  3107.     = 0xA92C; 
  3108.  
  3109. short findwindow(Point *thePoint,WindowPtr *theWindow); 
  3110.  
  3111. pascal long PinRect(const Rect *theRect,Point thePt)
  3112.     = 0xA94E; 
  3113. pascal long DragGrayRgn(RgnHandle theRgn,Point startPt,const Rect *boundsRect,
  3114.     const Rect *slopRect,short axis,DragGrayRgnProcPtr actionProc)
  3115.     = 0xA905; 
  3116. pascal Boolean TrackBox(WindowPtr theWindow,Point thePt,short partCode)
  3117.     = 0xA83B; 
  3118. pascal void GetCWMgrPort(CGrafPtr *wMgrCPort)
  3119.     = 0xAA48; 
  3120.  
  3121. void getwtitle(WindowPtr theWindow,char *title); 
  3122.  
  3123. pascal void SetWinColor(WindowPtr theWindow,WCTabHandle newColorTable)
  3124.     = 0xAA41; 
  3125. pascal Boolean GetAuxWin(WindowPtr theWindow,AuxWinHandle *awHndl)
  3126.     = 0xAA42; 
  3127.  
  3128. long growwindow(WindowPtr theWindow,Point *startPt,const Rect *bBox); 
  3129.  
  3130. pascal void SetDeskCPat(PixPatHandle deskPixPat)
  3131.     = 0xAA47; 
  3132.  
  3133. WindowPtr newwindow(void *wStorage,const Rect *boundsRect,char *title,Boolean visible,
  3134.     short theProc,WindowPtr behind,Boolean goAwayFlag,long refCon); 
  3135.  
  3136. pascal WindowPtr NewCWindow(void *wStorage,const Rect *boundsRect,ConstStr255Param title,
  3137.     Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon)
  3138.     = 0xAA45; 
  3139.  
  3140. WindowPtr newcwindow(void *wStorage,const Rect *boundsRect,char *title,
  3141.     Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon); 
  3142.  
  3143. pascal WindowPtr GetNewCWindow(short windowID,void *wStorage,WindowPtr behind)
  3144.     = 0xAA46; 
  3145. pascal short GetWVariant(WindowPtr theWindow)
  3146.     = 0xA80A; 
  3147.  
  3148. long pinrect(const Rect *theRect,Point *thePt); 
  3149.  
  3150.  
  3151. pascal void SetWTitle(WindowPtr theWindow,ConstStr255Param title)
  3152.     = 0xA91A; 
  3153.  
  3154. Boolean trackbox(WindowPtr theWindow,Point *thePt,short partCode); 
  3155.  
  3156. pascal Boolean TrackGoAway(WindowPtr theWindow,Point thePt)
  3157.     = 0xA91E; 
  3158. pascal void DragWindow(WindowPtr theWindow,Point startPt,const Rect *boundsRect)
  3159.     = 0xA925; 
  3160.  
  3161. long draggrayrgn(RgnHandle theRgn,Point *startPt,const Rect *boundsRect,
  3162.     const Rect *slopRect,short axis,DragGrayRgnProcPtr actionProc); 
  3163. void dragwindow(WindowPtr theWindow,Point *startPt,const Rect *boundsRect); 
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170. # 14 "console.c" 2
  3171.  
  3172. # 1 "Dialogs.h" 1
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195. # 1 "TextEdit.h" 1
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218. enum {
  3219.  
  3220.  
  3221.  
  3222.  teJustLeft = 0,
  3223.  teJustCenter = 1,
  3224.  teJustRight = -1,
  3225.  teForceLeft = -2,
  3226.  
  3227.  
  3228.  teFlushDefault = 0,                                     
  3229.  teCenter = 1,                                             
  3230.  teFlushRight = -1,                                         
  3231.  teFlushLeft = -2,                                         
  3232.  
  3233.  
  3234.  fontBit = 0,                                             
  3235.  faceBit = 1,                                             
  3236.  sizeBit = 2,                                             
  3237.  clrBit = 3,                                             
  3238.  addSizeBit = 4,                                         
  3239.  toglBit = 5,                                             
  3240.  
  3241.  
  3242.  doFont = 1,                                             
  3243.  doFace = 2,                                             
  3244.  doSize = 4,                                             
  3245.  doColor = 8,                                             
  3246.  doAll = 15,                                             
  3247.  addSize = 16                                             
  3248. };
  3249. enum {
  3250.  doToggle = 32,                                             
  3251.  
  3252.  
  3253.  EOLHook = 0,                                             
  3254.  DRAWHook = 4,                                             
  3255.  WIDTHHook = 8,                                             
  3256.  HITTESTHook = 12,                                         
  3257.  nWIDTHHook = 24,                                         
  3258.  TextWidthHook = 28,                                     
  3259.  
  3260.  
  3261.  intEOLHook = 0,                                         
  3262.  intDrawHook = 1,                                         
  3263.  intWidthHook = 2,                                         
  3264.  intHitTestHook = 3,                                     
  3265.  intNWidthHook = 6,                                         
  3266.  intTextWidthHook = 7,                                     
  3267.  
  3268.  
  3269.  teFAutoScr = 0,                                         
  3270.  teFTextBuffering = 1,                                     
  3271.  teFOutlineHilite = 2,                                     
  3272.  teFInlineInput = 3,                                     
  3273.  teFUseTextServices = 4,                                 
  3274.  
  3275.  
  3276.  TEBitClear = 0,
  3277.  TEBitSet = 1                                             
  3278. };
  3279. enum {
  3280.  TEBitTest = -1,                                         
  3281.  
  3282.  
  3283.  teWordSelect = 4,                                         
  3284.  teWordDrag = 8,                                         
  3285.  teFromFind = 12,                                         
  3286.  teFromRecal = 16                                         
  3287. };
  3288.  
  3289. typedef pascal Boolean (*WordBreakProcPtr)(Ptr text, short charPos);
  3290. typedef pascal Boolean (*ClikLoopProcPtr)(void);
  3291.  
  3292. struct TERec {
  3293.  Rect destRect;
  3294.  Rect viewRect;
  3295.  Rect selRect;
  3296.  short lineHeight;
  3297.  short fontAscent;
  3298.  Point selPoint;
  3299.  short selStart;
  3300.  short selEnd;
  3301.  short active;
  3302.  WordBreakProcPtr wordBreak;
  3303.  ClikLoopProcPtr clikLoop;
  3304.  long clickTime;
  3305.  short clickLoc;
  3306.  long caretTime;
  3307.  short caretState;
  3308.  short just;
  3309.  short teLength;
  3310.  Handle hText;
  3311.  short recalBack;
  3312.  short recalLines;
  3313.  short clikStuff;
  3314.  short crOnly;
  3315.  short txFont;
  3316.  Style txFace;                                             
  3317.  char filler;
  3318.  short txMode;
  3319.  short txSize;
  3320.  GrafPtr inPort;
  3321.  ProcPtr highHook;
  3322.  ProcPtr caretHook;
  3323.  short nLines;
  3324.  short lineStarts[16001];
  3325. };
  3326.  
  3327. typedef struct TERec TERec;
  3328. typedef TERec *TEPtr, **TEHandle;
  3329.  
  3330. typedef char Chars[32001];
  3331. typedef char *CharsPtr,**CharsHandle;
  3332.  
  3333. struct StyleRun {
  3334.  short startChar;                                         
  3335.  short styleIndex;                                         
  3336. };
  3337.  
  3338. typedef struct StyleRun StyleRun;
  3339.  
  3340. struct STElement {
  3341.  short stCount;                                             
  3342.  short stHeight;                                         
  3343.  short stAscent;                                         
  3344.  short stFont;                                             
  3345.  Style stFace;                                             
  3346.  char filler;                                             
  3347.  short stSize;                                             
  3348.  RGBColor stColor;                                         
  3349. };
  3350.  
  3351. typedef struct STElement STElement;
  3352.  
  3353. typedef STElement TEStyleTable[1777], *STPtr, **STHandle;
  3354.  
  3355. struct LHElement {
  3356.  short lhHeight;                                         
  3357.  short lhAscent;                                         
  3358. };
  3359.  
  3360. typedef struct LHElement LHElement;
  3361.  
  3362. typedef LHElement LHTable[8001], *LHPtr, **LHHandle;     
  3363.  
  3364. struct ScrpSTElement {
  3365.  long scrpStartChar;                                     
  3366.  short scrpHeight;                                         
  3367.  short scrpAscent;
  3368.  short scrpFont;
  3369.  Style scrpFace;                                         
  3370.  char filler;                                             
  3371.  short scrpSize;
  3372.  RGBColor scrpColor;
  3373. };
  3374.  
  3375. typedef struct ScrpSTElement ScrpSTElement;
  3376.  
  3377. typedef ScrpSTElement ScrpSTTable[1601];                 
  3378.  
  3379. struct StScrpRec {
  3380.  short scrpNStyles;                                         
  3381.  ScrpSTTable scrpStyleTab;                                 
  3382. };
  3383.  
  3384. typedef struct StScrpRec StScrpRec;
  3385. typedef StScrpRec *StScrpPtr, **StScrpHandle;
  3386.  
  3387. struct NullStRec {
  3388.  long teReserved;                                         
  3389.  StScrpHandle nullScrap;                                 
  3390. };
  3391.  
  3392. typedef struct NullStRec NullStRec;
  3393. typedef NullStRec *NullStPtr, **NullStHandle;
  3394.  
  3395. struct TEStyleRec {
  3396.  short nRuns;                                             
  3397.  short nStyles;                                             
  3398.  STHandle styleTab;                                         
  3399.  LHHandle lhTab;                                         
  3400.  long teRefCon;                                             
  3401.  NullStHandle nullStyle;                                 
  3402.  StyleRun runs[8001];                                     
  3403. };
  3404.  
  3405. typedef struct TEStyleRec TEStyleRec;
  3406. typedef TEStyleRec *TEStylePtr, **TEStyleHandle;
  3407.  
  3408. struct TextStyle {
  3409.  short tsFont;                                             
  3410.  Style tsFace;                                             
  3411.  char filler;                                             
  3412.  short tsSize;                                             
  3413.  RGBColor tsColor;                                         
  3414. };
  3415.  
  3416. typedef struct TextStyle TextStyle;
  3417. typedef TextStyle *TextStylePtr, **TextStyleHandle;
  3418.  
  3419.  
  3420. typedef short TEIntHook;
  3421.  
  3422.  
  3423.  
  3424.  
  3425. pascal void TEInit(void)
  3426.  = 0xA9CC; 
  3427. pascal TEHandle TENew(const Rect *destRect,const Rect *viewRect)
  3428.  = 0xA9D2; 
  3429. pascal void TEDispose(TEHandle hTE)
  3430.  = 0xA9CD; 
  3431. pascal void TESetText(const void *text,long length,TEHandle hTE)
  3432.  = 0xA9CF; 
  3433. pascal CharsHandle TEGetText(TEHandle hTE)
  3434.  = 0xA9CB; 
  3435. pascal void TEIdle(TEHandle hTE)
  3436.  = 0xA9DA; 
  3437. pascal void TESetSelect(long selStart,long selEnd,TEHandle hTE)
  3438.  = 0xA9D1; 
  3439. pascal void TEActivate(TEHandle hTE)
  3440.  = 0xA9D8; 
  3441. pascal void TEDeactivate(TEHandle hTE)
  3442.  = 0xA9D9; 
  3443. pascal void TEKey(short key,TEHandle hTE)
  3444.  = 0xA9DC; 
  3445. pascal void TECut(TEHandle hTE)
  3446.  = 0xA9D6; 
  3447. pascal void TECopy(TEHandle hTE)
  3448.  = 0xA9D5; 
  3449. pascal void TEPaste(TEHandle hTE)
  3450.  = 0xA9DB; 
  3451. pascal void TEDelete(TEHandle hTE)
  3452.  = 0xA9D7; 
  3453. pascal void TEInsert(const void *text,long length,TEHandle hTE)
  3454.  = 0xA9DE; 
  3455. pascal void TESetJust(short just,TEHandle hTE)
  3456.  = 0xA9DF; 
  3457. pascal void TEUpdate(const Rect *rUpdate,TEHandle hTE)
  3458.  = 0xA9D3; 
  3459. pascal void TextBox(const void *text,long length,const Rect *box,short just)
  3460.  = 0xA9CE; 
  3461. pascal void TEScroll(short dh,short dv,TEHandle hTE)
  3462.  = 0xA9DD; 
  3463. pascal void TESelView(TEHandle hTE)
  3464.  = 0xA811; 
  3465. pascal void TEPinScroll(short dh,short dv,TEHandle hTE)
  3466.  = 0xA812; 
  3467. pascal void TEAutoView(Boolean fAuto,TEHandle hTE)
  3468.  = 0xA813; 
  3469.  
  3470. pascal void TECalText(TEHandle hTE)
  3471.  = 0xA9D0; 
  3472. pascal short TEGetOffset(Point pt,TEHandle hTE)
  3473.  = 0xA83C; 
  3474. pascal Point TEGetPoint(short offset,TEHandle hTE)
  3475.  = {0x3F3C,0x0008,0xA83D}; 
  3476. pascal void TEClick(Point pt,Boolean fExtend,TEHandle h)
  3477.  = 0xA9D4; 
  3478. pascal TEHandle TEStylNew(const Rect *destRect,const Rect *viewRect)
  3479.  = 0xA83E; 
  3480. pascal TEHandle TEStyleNew(const Rect *destRect,const Rect *viewRect)
  3481.  = 0xA83E; 
  3482. pascal void SetStylHandle(TEStyleHandle theHandle,TEHandle hTE)
  3483.  = {0x3F3C,0x0005,0xA83D}; 
  3484. pascal void SetStyleHandle(TEStyleHandle theHandle,TEHandle hTE)
  3485.  = {0x3F3C,0x0005,0xA83D}; 
  3486. pascal TEStyleHandle GetStylHandle(TEHandle hTE)
  3487.  = {0x3F3C,0x0004,0xA83D}; 
  3488. pascal TEStyleHandle GetStyleHandle(TEHandle hTE)
  3489.  = {0x3F3C,0x0004,0xA83D}; 
  3490. pascal void TEGetStyle(short offset,TextStyle *theStyle,short *lineHeight,
  3491.  short *fontAscent,TEHandle hTE)
  3492.  = {0x3F3C,0x0003,0xA83D}; 
  3493. pascal void TEStylPaste(TEHandle hTE)
  3494.  = {0x3F3C,0x0000,0xA83D}; 
  3495. pascal void TEStylePaste(TEHandle hTE)
  3496.  = {0x3F3C,0x0000,0xA83D}; 
  3497. pascal void TESetStyle(short mode,const TextStyle *newStyle,Boolean redraw,
  3498.  TEHandle hTE)
  3499.  = {0x3F3C,0x0001,0xA83D}; 
  3500. pascal void TEReplaceStyle(short mode,const TextStyle *oldStyle,const TextStyle *newStyle,
  3501.  Boolean redraw,TEHandle hTE)
  3502.  = {0x3F3C,0x0002,0xA83D}; 
  3503. pascal StScrpHandle GetStylScrap(TEHandle hTE)
  3504.  = {0x3F3C,0x0006,0xA83D}; 
  3505. pascal StScrpHandle GetStyleScrap(TEHandle hTE)
  3506.  = {0x3F3C,0x0006,0xA83D}; 
  3507. pascal void TEStylInsert(const void *text,long length,StScrpHandle hST,
  3508.  TEHandle hTE)
  3509.  = {0x3F3C,0x0007,0xA83D}; 
  3510. pascal void TEStyleInsert(const void *text,long length,StScrpHandle hST,
  3511.  TEHandle hTE)
  3512.  = {0x3F3C,0x0007,0xA83D}; 
  3513. pascal long TEGetHeight(long endLine,long startLine,TEHandle hTE)
  3514.  = {0x3F3C,0x0009,0xA83D}; 
  3515. pascal Boolean TEContinuousStyle(short *mode,TextStyle *aStyle,TEHandle hTE)
  3516.  = {0x3F3C,0x000A,0xA83D}; 
  3517. pascal void SetStylScrap(long rangeStart,long rangeEnd,StScrpHandle newStyles,
  3518.  Boolean redraw,TEHandle hTE)
  3519.  = {0x3F3C,0x000B,0xA83D}; 
  3520. pascal void SetStyleScrap(long rangeStart,long rangeEnd,StScrpHandle newStyles,
  3521.  Boolean redraw,TEHandle hTE)
  3522.  = {0x3F3C,0x000B,0xA83D}; 
  3523. pascal void TECustomHook(TEIntHook which,ProcPtr *addr,TEHandle hTE)
  3524.  = {0x3F3C,0x000C,0xA83D}; 
  3525. pascal long TENumStyles(long rangeStart,long rangeEnd,TEHandle hTE)
  3526.  = {0x3F3C,0x000D,0xA83D}; 
  3527. pascal short TEFeatureFlag(short feature,short action,TEHandle hTE)
  3528.  = {0x3F3C,0x000E,0xA83D}; 
  3529.  
  3530. pascal void TESetScrapLen(long length); 
  3531. pascal OSErr TEFromScrap(void); 
  3532. pascal OSErr TEToScrap(void); 
  3533. pascal void SetClikLoop(ClikLoopProcPtr clikProc,TEHandle hTE); 
  3534. pascal void SetWordBreak(WordBreakProcPtr wBrkProc,TEHandle hTE); 
  3535.  
  3536. void teclick(Point *pt,Boolean fExtend,TEHandle h); 
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543. # 23 "Dialogs.h" 2
  3544.  
  3545.  
  3546.  
  3547.  
  3548. enum {
  3549.  
  3550.  ctrlItem = 4,
  3551.  btnCtrl = 0,
  3552.  chkCtrl = 1,
  3553.  radCtrl = 2,
  3554.  resCtrl = 3,
  3555.  statText = 8,
  3556.  editText = 16,
  3557.  iconItem = 32,
  3558.  picItem = 64,
  3559.  userItem = 0,
  3560.  itemDisable = 128,
  3561.  ok = 1,
  3562.  cancel = 2,
  3563.  stopIcon = 0,
  3564.  noteIcon = 1,
  3565.  cautionIcon = 2
  3566. };
  3567.  
  3568.  
  3569. typedef short DITLMethod;
  3570.  
  3571. enum {
  3572.  
  3573.  overlayDITL = 0,
  3574.  appendDITLRight = 1,
  3575.  appendDITLBottom = 2
  3576. };
  3577.  
  3578. typedef short StageList;
  3579.  
  3580.  
  3581. typedef WindowPtr DialogPtr;
  3582. typedef pascal void (*ResumeProcPtr)(void);
  3583. typedef pascal void (*SoundProcPtr)(void);
  3584. typedef pascal Boolean (*ModalFilterProcPtr)(DialogPtr theDialog, EventRecord *theEvent, short *itemHit);
  3585.  
  3586. struct DialogRecord {
  3587.  WindowRecord window;
  3588.  Handle items;
  3589.  TEHandle textH;
  3590.  short editField;
  3591.  short editOpen;
  3592.  short aDefItem;
  3593. };
  3594.  
  3595. typedef struct DialogRecord DialogRecord;
  3596. typedef DialogRecord *DialogPeek;
  3597.  
  3598. struct DialogTemplate {
  3599.  Rect boundsRect;
  3600.  short procID;
  3601.  Boolean visible;
  3602.  Boolean filler1;
  3603.  Boolean goAwayFlag;
  3604.  Boolean filler2;
  3605.  long refCon;
  3606.  short itemsID;
  3607.  Str255 title;
  3608. };
  3609.  
  3610. typedef struct DialogTemplate DialogTemplate;
  3611. typedef DialogTemplate *DialogTPtr, **DialogTHndl;
  3612.  
  3613. struct AlertTemplate {
  3614.  Rect boundsRect;
  3615.  short itemsID;
  3616.  StageList stages;
  3617. };
  3618.  
  3619. typedef struct AlertTemplate AlertTemplate;
  3620. typedef AlertTemplate *AlertTPtr, **AlertTHndl;
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626. pascal void InitDialogs(ResumeProcPtr resumeProc)
  3627.  = 0xA97B; 
  3628. pascal void ErrorSound(SoundProcPtr soundProc)
  3629.  = 0xA98C; 
  3630. pascal DialogPtr NewDialog(void *wStorage,const Rect *boundsRect,ConstStr255Param title,
  3631.  Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon,
  3632.  Handle itmLstHndl)
  3633.  = 0xA97D; 
  3634.  
  3635. DialogPtr newdialog(void *wStorage,const Rect *boundsRect,char *title,Boolean visible,
  3636.  short procID,WindowPtr behind,Boolean goAwayFlag,long refCon,Handle itmLstHndl); 
  3637.  
  3638. pascal DialogPtr GetNewDialog(short dialogID,void *dStorage,WindowPtr behind)
  3639.  = 0xA97C; 
  3640. pascal void CloseDialog(DialogPtr theDialog)
  3641.  = 0xA982; 
  3642. pascal void DisposDialog(DialogPtr theDialog)
  3643.  = 0xA983; 
  3644. pascal void DisposeDialog(DialogPtr theDialog)
  3645.  = 0xA983; 
  3646. pascal void CouldDialog(short dialogID)
  3647.  = 0xA979; 
  3648. pascal void FreeDialog(short dialogID)
  3649.  = 0xA97A; 
  3650. pascal void ParamText(ConstStr255Param param0,ConstStr255Param param1,ConstStr255Param param2,
  3651.  ConstStr255Param param3)
  3652.  = 0xA98B; 
  3653. pascal void ModalDialog(ModalFilterProcPtr filterProc,short *itemHit)
  3654.  = 0xA991; 
  3655. pascal Boolean IsDialogEvent(const EventRecord *theEvent)
  3656.  = 0xA97F; 
  3657. pascal Boolean DialogSelect(const EventRecord *theEvent,DialogPtr *theDialog,
  3658.  short *itemHit)
  3659.  = 0xA980; 
  3660. pascal void DrawDialog(DialogPtr theDialog)
  3661.  = 0xA981; 
  3662. pascal void UpdtDialog(DialogPtr theDialog,RgnHandle updateRgn)
  3663.  = 0xA978; 
  3664. pascal void UpdateDialog(DialogPtr theDialog,RgnHandle updateRgn)
  3665.  = 0xA978; 
  3666. pascal short Alert(short alertID,ModalFilterProcPtr filterProc)
  3667.  = 0xA985; 
  3668. pascal short StopAlert(short alertID,ModalFilterProcPtr filterProc)
  3669.  = 0xA986; 
  3670. pascal short NoteAlert(short alertID,ModalFilterProcPtr filterProc)
  3671.  = 0xA987; 
  3672. pascal short CautionAlert(short alertID,ModalFilterProcPtr filterProc)
  3673.  = 0xA988; 
  3674. pascal void CouldAlert(short alertID)
  3675.  = 0xA989; 
  3676. pascal void FreeAlert(short alertID)
  3677.  = 0xA98A; 
  3678. pascal void GetDItem(DialogPtr theDialog,short itemNo,short *itemType,Handle *item,
  3679.  Rect *box)
  3680.  = 0xA98D; 
  3681. pascal void SetDItem(DialogPtr theDialog,short itemNo,short itemType,Handle item,
  3682.  const Rect *box)
  3683.  = 0xA98E; 
  3684. pascal void HideDItem(DialogPtr theDialog,short itemNo)
  3685.  = 0xA827; 
  3686. pascal void ShowDItem(DialogPtr theDialog,short itemNo)
  3687.  = 0xA828; 
  3688. pascal void SelIText(DialogPtr theDialog,short itemNo,short strtSel,short endSel)
  3689.  = 0xA97E; 
  3690. pascal void GetIText(Handle item,Str255 text)
  3691.  = 0xA990; 
  3692. pascal void SetIText(Handle item,ConstStr255Param text)
  3693.  = 0xA98F; 
  3694. pascal short FindDItem(DialogPtr theDialog,Point thePt)
  3695.  = 0xA984; 
  3696. pascal DialogPtr NewCDialog(void *dStorage,const Rect *boundsRect,ConstStr255Param title,
  3697.  Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon,
  3698.  Handle items)
  3699.  = 0xAA4B; 
  3700.  
  3701. DialogPtr newcdialog(void *dStorage,const Rect *boundsRect,char *title,
  3702.  Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon,
  3703.  Handle items); 
  3704.  
  3705.  
  3706. pascal void ResetAlrtStage(void)
  3707.  = {0x4278,0x0A9A}; 
  3708. pascal void DlgCut(DialogPtr theDialog); 
  3709. pascal void DlgPaste(DialogPtr theDialog); 
  3710. pascal void DlgCopy(DialogPtr theDialog); 
  3711. pascal void DlgDelete(DialogPtr theDialog); 
  3712. pascal void SetDAFont(short fontNum)
  3713.  = {0x31DF,0x0AFA}; 
  3714.  
  3715. void paramtext(char *param0,char *param1,char *param2,char *param3); 
  3716. void getitext(Handle item,char *text); 
  3717. void setitext(Handle item,char *text); 
  3718. short findditem(DialogPtr theDialog,Point *thePt); 
  3719.  
  3720. pascal void AppendDITL(DialogPtr theDialog,Handle theHandle,DITLMethod method); 
  3721. pascal short CountDITL(DialogPtr theDialog); 
  3722. pascal void ShortenDITL(DialogPtr theDialog,short numberItems); 
  3723.  
  3724.  
  3725.  
  3726.  
  3727.  
  3728. # 15 "console.c" 2
  3729.  
  3730. # 1 "Events.h" 1
  3731.  
  3732.  
  3733.  
  3734.  
  3735.  
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745. # 135 "Events.h"
  3746.  
  3747. # 16 "console.c" 2
  3748.  
  3749. # 1 "Menus.h" 1
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771. enum {
  3772.  
  3773.  
  3774.  
  3775.  
  3776.  
  3777.  
  3778.     mDrawMsg = 0,
  3779.     mChooseMsg = 1,
  3780.     mSizeMsg = 2,
  3781.     mDrawItemMsg = 4,
  3782.     mCalcItemMsg = 5,
  3783.     textMenuProc = 0,
  3784.     hMenuCmd = 27,           
  3785.     hierMenu = -1,           
  3786.     mPopUpMsg = 3,           
  3787.     mctAllItems = -98,       
  3788.     mctLastIDIndic = -99     
  3789. };
  3790.  
  3791. struct MenuInfo {
  3792.     short menuID;
  3793.     short menuWidth;
  3794.     short menuHeight;
  3795.     Handle menuProc;
  3796.     long enableFlags;
  3797.     Str255 menuData;
  3798. };
  3799.  
  3800. typedef struct MenuInfo MenuInfo;
  3801. typedef MenuInfo *MenuPtr, **MenuHandle;
  3802.  
  3803. struct MCEntry {
  3804.     short mctID;             
  3805.     short mctItem;           
  3806.     RGBColor mctRGB1;        
  3807.     RGBColor mctRGB2;        
  3808.     RGBColor mctRGB3;        
  3809.     RGBColor mctRGB4;        
  3810.     short mctReserved;       
  3811. };
  3812.  
  3813. typedef struct MCEntry MCEntry;
  3814. typedef MCEntry *MCEntryPtr;
  3815.  
  3816.  
  3817.  
  3818.  
  3819. typedef MCEntry MCTable[1], *MCTablePtr, **MCTableHandle;
  3820.  
  3821. struct MenuCRsrc {
  3822.     short numEntries;        
  3823.     MCTable mcEntryRecs;     
  3824. };
  3825.  
  3826. typedef struct MenuCRsrc MenuCRsrc;
  3827. typedef MenuCRsrc *MenuCRsrcPtr, **MenuCRsrcHandle;
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833. pascal void InitMenus(void)
  3834.     = 0xA930; 
  3835. pascal MenuHandle NewMenu(short menuID,const Str255 menuTitle)
  3836.     = 0xA931; 
  3837. pascal MenuHandle GetMenu(short resourceID)
  3838.     = 0xA9BF; 
  3839. pascal void DisposeMenu(MenuHandle theMenu)
  3840.     = 0xA932; 
  3841. pascal void AppendMenu(MenuHandle menu,ConstStr255Param data)
  3842.     = 0xA933; 
  3843. pascal void AddResMenu(MenuHandle theMenu,ResType theType)
  3844.     = 0xA94D; 
  3845. pascal void InsertResMenu(MenuHandle theMenu,ResType theType,short afterItem)
  3846.     = 0xA951; 
  3847. pascal void InsertMenu(MenuHandle theMenu,short beforeID)
  3848.     = 0xA935; 
  3849. pascal void DrawMenuBar(void)
  3850.     = 0xA937; 
  3851. pascal void InvalMenuBar(void)
  3852.     = 0xA81D; 
  3853. pascal void DeleteMenu(short menuID)
  3854.     = 0xA936; 
  3855. pascal void ClearMenuBar(void)
  3856.     = 0xA934; 
  3857. pascal Handle GetNewMBar(short menuBarID)
  3858.     = 0xA9C0; 
  3859. pascal Handle GetMenuBar(void)
  3860.     = 0xA93B; 
  3861. pascal void SetMenuBar(Handle menuList)
  3862.     = 0xA93C; 
  3863. pascal void InsMenuItem(MenuHandle theMenu,ConstStr255Param itemString,
  3864.     short afterItem)
  3865.     = 0xA826; 
  3866. pascal void DelMenuItem(MenuHandle theMenu,short item)
  3867.     = 0xA952; 
  3868. pascal long MenuKey(short ch)
  3869.     = 0xA93E; 
  3870. pascal void HiliteMenu(short menuID)
  3871.     = 0xA938; 
  3872. pascal void SetItem(MenuHandle theMenu,short item,ConstStr255Param itemString)
  3873.     = 0xA947; 
  3874. pascal void GetItem(MenuHandle theMenu,short item,Str255 itemString)
  3875.     = 0xA946; 
  3876. pascal void DisableItem(MenuHandle theMenu,short item)
  3877.     = 0xA93A; 
  3878. pascal void EnableItem(MenuHandle theMenu,short item)
  3879.     = 0xA939; 
  3880. pascal void CheckItem(MenuHandle theMenu,short item,Boolean checked)
  3881.     = 0xA945; 
  3882. pascal void SetItemMark(MenuHandle theMenu,short item,short markChar)
  3883.     = 0xA944; 
  3884. pascal void GetItemMark(MenuHandle theMenu,short item,short *markChar)
  3885.     = 0xA943; 
  3886. pascal void SetItemIcon(MenuHandle theMenu,short item,short iconIndex)
  3887.     = 0xA940; 
  3888. pascal void GetItemIcon(MenuHandle theMenu,short item,short *iconIndex)
  3889.     = 0xA93F; 
  3890. pascal void SetItemStyle(MenuHandle theMenu,short item,short chStyle)
  3891.     = 0xA942; 
  3892. pascal void GetItemStyle(MenuHandle theMenu,short item,Style *chStyle); 
  3893. pascal void CalcMenuSize(MenuHandle theMenu)
  3894.     = 0xA948; 
  3895. pascal short CountMItems(MenuHandle theMenu)
  3896.     = 0xA950; 
  3897. pascal MenuHandle GetMHandle(short menuID)
  3898.     = 0xA949; 
  3899. pascal void FlashMenuBar(short menuID)
  3900.     = 0xA94C; 
  3901. pascal void SetMenuFlash(short count)
  3902.     = 0xA94A; 
  3903. pascal long MenuSelect(Point startPt)
  3904.     = 0xA93D; 
  3905. pascal void InitProcMenu(short resID)
  3906.     = 0xA808; 
  3907. pascal void GetItemCmd(MenuHandle theMenu,short item,short *cmdChar)
  3908.     = 0xA84E; 
  3909. pascal void SetItemCmd(MenuHandle theMenu,short item,short cmdChar)
  3910.     = 0xA84F; 
  3911. pascal long PopUpMenuSelect(MenuHandle menu,short top,short left,short popUpItem)
  3912.     = 0xA80B; 
  3913. pascal long MenuChoice(void)
  3914.     = 0xAA66; 
  3915. pascal void DelMCEntries(short menuID,short menuItem)
  3916.     = 0xAA60; 
  3917. pascal MCTableHandle GetMCInfo(void)
  3918.     = 0xAA61; 
  3919. pascal void SetMCInfo(MCTableHandle menuCTbl)
  3920.     = 0xAA62; 
  3921. pascal void DispMCInfo(MCTableHandle menuCTbl)
  3922.     = 0xAA63; 
  3923. pascal MCEntryPtr GetMCEntry(short menuID,short menuItem)
  3924.     = 0xAA64; 
  3925. pascal void SetMCEntries(short numEntries,MCTablePtr menuCEntries)
  3926.     = 0xAA65; 
  3927.  
  3928. MenuHandle newmenu(short menuID,char *menuTitle); 
  3929. void getitem(MenuHandle menu,short item,char *itemString); 
  3930. void appendmenu(MenuHandle menu,char *data); 
  3931. void insmenuitem(MenuHandle theMenu,char *itemString,short afterItem); 
  3932. long menuselect(Point *startPt); 
  3933. void setitem(MenuHandle menu,short item,char *itemString); 
  3934.  
  3935.  
  3936.  
  3937.  
  3938.  
  3939.  
  3940. # 17 "console.c" 2
  3941.  
  3942. # 1 "TextEdit.h" 1
  3943.  
  3944.  
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.  
  3954.  
  3955.  
  3956.  
  3957. # 347 "TextEdit.h"
  3958.  
  3959. # 18 "console.c" 2
  3960.  
  3961.  
  3962.  
  3963.  
  3964.  
  3965.  
  3966.  
  3967.  
  3968.  
  3969.  
  3970.  
  3971.  
  3972.  
  3973.  
  3974.  
  3975.  
  3976.  
  3977.  
  3978.  
  3979.  
  3980.  
  3981. int DoCommand(long mResult);
  3982.  
  3983. # 1 "crtlocal.h" 1
  3984. # 1 "Types.h" 1
  3985.  
  3986.  
  3987.  
  3988.  
  3989.  
  3990.  
  3991.  
  3992.  
  3993.  
  3994.  
  3995.  
  3996.  
  3997.  
  3998.  
  3999. # 159 "Types.h"
  4000.  
  4001. # 1 "crtlocal.h" 2
  4002.  
  4003. # 1 "Errors.h" 1
  4004.  
  4005.  
  4006.  
  4007.  
  4008.  
  4009.  
  4010.  
  4011.  
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.  
  4020.  
  4021. enum {
  4022.  
  4023.     paramErr = -50,                                  
  4024.     noHardwareErr = -200,                            
  4025.     notEnoughHardwareErr = -201,                     
  4026.     userCanceledErr = -128,
  4027.     qErr = -1,                                       
  4028.     vTypErr = -2,                                    
  4029.     corErr = -3,                                     
  4030.     unimpErr = -4,                                   
  4031.     SlpTypeErr = -5,                                 
  4032.     seNoDB = -8,                                     
  4033.     controlErr = -17,                                
  4034.     statusErr = -18,                                 
  4035.     readErr = -19,                                   
  4036.     writErr = -20,                                   
  4037.     badUnitErr = -21,                                
  4038.     unitEmptyErr = -22,                              
  4039.     openErr = -23,                                   
  4040.     closErr = -24,                                   
  4041.     dRemovErr = -25,                                 
  4042.     dInstErr = -26                                   
  4043. };
  4044. enum {
  4045.     abortErr = -27,                                  
  4046.     iIOAbortErr = -27,                               
  4047.     notOpenErr = -28,                                
  4048.     unitTblFullErr = -29,                            
  4049.     dceExtErr = -30,                                 
  4050.     slotNumErr = -360,                               
  4051.     gcrOnMFMErr = -400,                              
  4052.     dirFulErr = -33,                                 
  4053.     dskFulErr = -34,                                 
  4054.     nsvErr = -35,                                    
  4055.     ioErr = -36,                                     
  4056.     bdNamErr = -37,                                  
  4057.     fnOpnErr = -38,                                  
  4058.     eofErr = -39,                                    
  4059.     posErr = -40,                                    
  4060.     mFulErr = -41,                                   
  4061.     tmfoErr = -42,                                   
  4062.     fnfErr = -43,                                    
  4063.     wPrErr = -44,                                    
  4064.     fLckdErr = -45                                   
  4065. };
  4066. enum {
  4067.     vLckdErr = -46,                                  
  4068.     fBsyErr = -47,                                   
  4069.     dupFNErr = -48,                                  
  4070.     opWrErr = -49,                                   
  4071.     rfNumErr = -51,                                  
  4072.     gfpErr = -52,                                    
  4073.     volOffLinErr = -53,                              
  4074.     permErr = -54,                                   
  4075.     volOnLinErr = -55,                               
  4076.     nsDrvErr = -56,                                  
  4077.     noMacDskErr = -57,                               
  4078.     extFSErr = -58,                                  
  4079.     fsRnErr = -59,                                   
  4080.     badMDBErr = -60,                                 
  4081.     wrPermErr = -61,                                 
  4082.     dirNFErr = -120,                                 
  4083.     tmwdoErr = -121,                                 
  4084.     badMovErr = -122,                                
  4085.     wrgVolTypErr = -123,                             
  4086.     volGoneErr = -124                                
  4087. };
  4088. enum {
  4089.     fidNotFound = -1300,                             
  4090.     fidExists = -1301,                               
  4091.     notAFileErr = -1302,                             
  4092.     diffVolErr = -1303,                              
  4093.     catChangedErr = -1304,                           
  4094.     desktopDamagedErr = -1305,                       
  4095.     sameFileErr = -1306,                             
  4096.     badFidErr = -1307,                               
  4097.     envNotPresent = -5500,                           
  4098.     envBadVers = -5501,                              
  4099.     envVersTooBig = -5502,                           
  4100.     fontDecError = -64,                              
  4101.     fontNotDeclared = -65,                           
  4102.     fontSubErr = -66,                                
  4103.     fontNotOutlineErr = -32615,                      
  4104.     firstDskErr = -84,                               
  4105.     lastDskErr = -64,                                
  4106.     noDriveErr = -64,                                
  4107.     offLinErr = -65,                                 
  4108.     noNybErr = -66                                   
  4109. };
  4110. enum {
  4111.     noAdrMkErr = -67,                                
  4112.     dataVerErr = -68,                                
  4113.     badCksmErr = -69,                                
  4114.     badBtSlpErr = -70,                               
  4115.     noDtaMkErr = -71,                                
  4116.     badDCksum = -72,                                 
  4117.     badDBtSlp = -73,                                 
  4118.     wrUnderrun = -74,                                
  4119.     cantStepErr = -75,                               
  4120.     tk0BadErr = -76,                                 
  4121.     initIWMErr = -77,                                
  4122.     twoSideErr = -78,                                
  4123.     spdAdjErr = -79,                                 
  4124.     seekErr = -80,                                   
  4125.     sectNFErr = -81,                                 
  4126.     fmt1Err = -82,                                   
  4127.     fmt2Err = -83,                                   
  4128.     verErr = -84,                                    
  4129.     clkRdErr = -85,                                  
  4130.     clkWrErr = -86                                   
  4131. };
  4132. enum {
  4133.     prWrErr = -87,                                   
  4134.     prInitErr = -88,                                 
  4135.     rcvrErr = -89,                                   
  4136.     breakRecd = -90,                                 
  4137.  
  4138.  
  4139.     pmBusyErr = -13000,                              
  4140.     pmReplyTOErr = -13001,                           
  4141.     pmSendStartErr = -13002,                         
  4142.     pmSendEndErr = -13003,                           
  4143.     pmRecvStartErr = -13004,                         
  4144.     pmRecvEndErr = -13005,                           
  4145.  
  4146.  
  4147.     noScrapErr = -100,                               
  4148.     noTypeErr = -102,                                
  4149.     memROZWarn = -99,                                
  4150.     memROZError = -99,                               
  4151.     memROZErr = -99,                                 
  4152.     memFullErr = -108,                               
  4153.     nilHandleErr = -109,                             
  4154.     memWZErr = -111,                                 
  4155.     memPurErr = -112,                                
  4156.     memAdrErr = -110                                 
  4157. };
  4158. enum {
  4159.     memAZErr = -113,                                 
  4160.     memPCErr = -114,                                 
  4161.     memBCErr = -115,                                 
  4162.     memSCErr = -116,                                 
  4163.     memLockedErr = -117,                             
  4164.     resNotFound = -192,                              
  4165.     resFNotFound = -193,                             
  4166.     addResFailed = -194,                             
  4167.     addRefFailed = -195,                             
  4168.     rmvResFailed = -196,                             
  4169.     rmvRefFailed = -197,                             
  4170.     resAttrErr = -198,                               
  4171.     mapReadErr = -199,                               
  4172.     CantDecompress = -186,                           
  4173.     badExtResource = -185,                           
  4174.     evtNotEnb = 1,                                   
  4175.     noMemForPictPlaybackErr = -145,
  4176.     rgnTooBigError = -147,
  4177.     pixMapTooDeepErr = -148,
  4178.     nsStackErr = -149
  4179. };
  4180. enum {
  4181.     cMatchErr = -150,                                
  4182.     cTempMemErr = -151,                              
  4183.     cNoMemErr = -152,                                
  4184.     cRangeErr = -153,                                
  4185.     cProtectErr = -154,                              
  4186.     cDevErr = -155,                                  
  4187.     cResErr = -156,                                  
  4188.     rgnTooBigErr = -500,
  4189.     updPixMemErr = -125,                             
  4190.     pictInfoVersionErr = -11000,                     
  4191.     pictInfoIDErr = -11001,                          
  4192.     pictInfoVerbErr = -11002,                        
  4193.     cantLoadPickMethodErr = -11003,                  
  4194.     colorsRequestedErr = -11004,                     
  4195.     pictureDataErr = -11005,                         
  4196.  
  4197.  
  4198.     noHardware = noHardwareErr,                      
  4199.     notEnoughHardware = notEnoughHardwareErr,        
  4200.     queueFull = -203,                                
  4201.     resProblem = -204,                               
  4202.     badChannel = -205                                
  4203. };
  4204. enum {
  4205.     badFormat = -206,                                
  4206.     notEnoughBufferSpace = -207,                     
  4207.     badFileFormat = -208,                            
  4208.     channelBusy = -209,                              
  4209.     buffersTooSmall = -210,                          
  4210.     channelNotBusy = -211,
  4211.     noMoreRealTime = -212,                           
  4212.     siNoSoundInHardware = -220,                      
  4213.     siBadSoundInDevice = -221,                       
  4214.     siNoBufferSpecified = -222,                      
  4215.     siInvalidCompression = -223,                     
  4216.     siHardDriveTooSlow = -224,                       
  4217.     siInvalidSampleRate = -225,                      
  4218.     siInvalidSampleSize = -226,                      
  4219.     siDeviceBusyErr = -227,                          
  4220.     siBadDeviceName = -228,                          
  4221.     siBadRefNum = -229,                              
  4222.     siInputDeviceErr = -230,                         
  4223.     siUnknownInfoType = -231,                        
  4224.     siUnknownQuality = -232                          
  4225. };
  4226. enum {
  4227.  
  4228.  
  4229.     nmTypErr = -299,                                 
  4230.     siInitSDTblErr = 1,                              
  4231.     siInitVBLQsErr = 2,                              
  4232.     siInitSPTblErr = 3,                              
  4233.     sdmJTInitErr = 10,                               
  4234.     sdmInitErr = 11,                                 
  4235.     sdmSRTInitErr = 12,                              
  4236.     sdmPRAMInitErr = 13,                             
  4237.     sdmPriInitErr = 14,                              
  4238.     smSDMInitErr = -290,                             
  4239.     smSRTInitErr = -291,                             
  4240.     smPRAMInitErr = -292,                            
  4241.     smPriInitErr = -293,                             
  4242.     smEmptySlot = -300,                              
  4243.     smCRCFail = -301,                                
  4244.     smFormatErr = -302,                              
  4245.     smRevisionErr = -303,                            
  4246.     smNoDir = -304,                                  
  4247.     smDisabledSlot = -305,                           
  4248.     smNosInfoArray = -306                            
  4249. };
  4250. enum {
  4251.     smResrvErr = -307,                               
  4252.     smUnExBusErr = -308,                             
  4253.     smBLFieldBad = -309,                             
  4254.     smFHBlockRdErr = -310,                           
  4255.     smFHBlkDispErr = -311,                           
  4256.     smDisposePErr = -312,                            
  4257.     smNoBoardSRsrc = -313,                           
  4258.     smGetPRErr = -314,                               
  4259.     smNoBoardId = -315,                              
  4260.     smInitStatVErr = -316,                           
  4261.     smInitTblVErr = -317,                            
  4262.     smNoJmpTbl = -318,                               
  4263.     smBadBoardId = -319,                             
  4264.     smBusErrTO = -320,                               
  4265.  
  4266.  
  4267.  
  4268.  
  4269.  
  4270.  
  4271.     svTempDisable = -32768,                          
  4272.     svDisabled = -32640,                             
  4273.     smBadRefId = -330,                               
  4274.     smBadsList = -331,                               
  4275.     smReservedErr = -332,                            
  4276.     smCodeRevErr = -333                              
  4277. };
  4278. enum {
  4279.     smCPUErr = -334,                                 
  4280.     smsPointerNil = -335,                            
  4281.     smNilsBlockErr = -336,                           
  4282.     smSlotOOBErr = -337,                             
  4283.     smSelOOBErr = -338,                              
  4284.     smNewPErr = -339,                                
  4285.     smBlkMoveErr = -340,                             
  4286.     smCkStatusErr = -341,                            
  4287.     smGetDrvrNamErr = -342,                          
  4288.     smDisDrvrNamErr = -343,                          
  4289.     smNoMoresRsrcs = -344,                           
  4290.     smsGetDrvrErr = -345,                            
  4291.     smBadsPtrErr = -346,                             
  4292.     smByteLanesErr = -347,                           
  4293.     smOffsetErr = -348,                              
  4294.     smNoGoodOpens = -349,                            
  4295.     smSRTOvrFlErr = -350,                            
  4296.     smRecNotFnd = -351,                              
  4297.     editionMgrInitErr = -450,                        
  4298.     badSectionErr = -451                             
  4299. };
  4300. enum {
  4301.     notRegisteredSectionErr = -452,                  
  4302.     badEditionFileErr = -453,                        
  4303.     badSubPartErr = -454,                            
  4304.     multiplePublisherWrn = -460,                     
  4305.     containerNotFoundWrn = -461,                     
  4306.     containerAlreadyOpenWrn = -462,                  
  4307.     notThePublisherWrn = -463,                       
  4308.     teScrapSizeErr = -501,                           
  4309.     hwParamErr = -502,                               
  4310.  
  4311.  
  4312.     procNotFound = -600,                             
  4313.     memFragErr = -601,                               
  4314.     appModeErr = -602,                               
  4315.     protocolErr = -603,                              
  4316.     hardwareConfigErr = -604,                        
  4317.     appMemFullErr = -605,                            
  4318.     appIsDaemon = -606,                              
  4319.  
  4320.  
  4321.     notEnoughMemoryErr = -620,                       
  4322.     notHeldErr = -621,                               
  4323.     cannotMakeContiguousErr = -622,                  
  4324.     notLockedErr = -623                              
  4325. };
  4326. enum {
  4327.     interruptsMaskedErr = -624,                      
  4328.     cannotDeferErr = -625,                           
  4329.     ddpSktErr = -91,                                 
  4330.     ddpLenErr = -92,                                 
  4331.     noBridgeErr = -93,                               
  4332.     lapProtErr = -94,                                
  4333.     excessCollsns = -95,                             
  4334.     portInUse = -97,                                 
  4335.     portNotCf = -98,                                 
  4336.     nbpBuffOvr = -1024,                              
  4337.     nbpNoConfirm = -1025,
  4338.     nbpConfDiff = -1026,                             
  4339.     nbpDuplicate = -1027,                            
  4340.     nbpNotFound = -1028,                             
  4341.     nbpNISErr = -1029,                               
  4342.     aspBadVersNum = -1066,                           
  4343.     aspBufTooSmall = -1067,                          
  4344.     aspNoMoreSess = -1068,                           
  4345.     aspNoServers = -1069,                            
  4346.     aspParamErr = -1070                              
  4347. };
  4348. enum {
  4349.     aspServerBusy = -1071,                           
  4350.     aspSessClosed = -1072,                           
  4351.     aspSizeErr = -1073,                              
  4352.     aspTooMany = -1074,                              
  4353.     aspNoAck = -1075,                                
  4354.     reqFailed = -1096,
  4355.     tooManyReqs = -1097,
  4356.     tooManySkts = -1098,
  4357.     badATPSkt = -1099,
  4358.     badBuffNum = -1100,
  4359.     noRelErr = -1101,
  4360.     cbNotFound = -1102,
  4361.     noSendResp = -1103,
  4362.     noDataArea = -1104,
  4363.     reqAborted = -1105,
  4364.     buf2SmallErr = -3101,
  4365.     noMPPErr = -3102,
  4366.     ckSumErr = -3103,
  4367.     extractErr = -3104,
  4368.     readQErr = -3105
  4369. };
  4370. enum {
  4371.     atpLenErr = -3106,
  4372.     atpBadRsp = -3107,
  4373.     recNotFnd = -3108,
  4374.     sktClosedErr = -3109,
  4375.     afpAccessDenied = -5000,
  4376.     afpAuthContinue = -5001,
  4377.     afpBadUAM = -5002,
  4378.     afpBadVersNum = -5003,
  4379.     afpBitmapErr = -5004,
  4380.     afpCantMove = -5005,
  4381.     afpDenyConflict = -5006,
  4382.     afpDirNotEmpty = -5007,
  4383.     afpDiskFull = -5008,
  4384.     afpEofError = -5009,
  4385.     afpFileBusy = -5010,
  4386.     afpFlatVol = -5011,
  4387.     afpItemNotFound = -5012,
  4388.     afpLockErr = -5013,
  4389.     afpMiscErr = -5014,
  4390.     afpNoMoreLocks = -5015
  4391. };
  4392. enum {
  4393.     afpNoServer = -5016,
  4394.     afpObjectExists = -5017,
  4395.     afpObjectNotFound = -5018,
  4396.     afpParmErr = -5019,
  4397.     afpRangeNotLocked = -5020,
  4398.     afpRangeOverlap = -5021,
  4399.     afpSessClosed = -5022,
  4400.     afpUserNotAuth = -5023,
  4401.     afpCallNotSupported = -5024,
  4402.     afpObjectTypeErr = -5025,
  4403.     afpTooManyFilesOpen = -5026,
  4404.     afpServerGoingDown = -5027,
  4405.     afpCantRename = -5028,
  4406.     afpDirNotFound = -5029,
  4407.     afpIconTypeError = -5030,
  4408.     afpVolLocked = -5031,                            
  4409.     afpObjectLocked = -5032,                         
  4410.     afpContainsSharedErr = -5033,                    
  4411.     afpIDNotFound = -5034,                           
  4412.     afpIDExists = -5035                              
  4413. };
  4414. enum {
  4415.     afpDiffVolErr = -5036,                           
  4416.     afpCatalogChanged = -5037,                       
  4417.     afpSameObjectErr = -5038,                        
  4418.     afpBadIDErr = -5039,                             
  4419.     afpPwdSameErr = -5040,                           
  4420.     afpPwdTooShortErr = -5041,                       
  4421.     afpPwdExpiredErr = -5042,                        
  4422.     afpInsideSharedErr = -5043,                      
  4423.     afpInsideTrashErr = -5044,                       
  4424.  
  4425.  
  4426.     notInitErr = -900,                               
  4427.     nameTypeErr = -902,                              
  4428.     noPortErr = -903,                                
  4429.     noGlobalsErr = -904,                             
  4430.     localOnlyErr = -905,                             
  4431.     destPortErr = -906,                              
  4432.     sessTableErr = -907,                             
  4433.     noSessionErr = -908,                             
  4434.     badReqErr = -909,                                
  4435.     portNameExistsErr = -910,                        
  4436.     noUserNameErr = -911                             
  4437. };
  4438. enum {
  4439.     userRejectErr = -912,                            
  4440.     noMachineNameErr = -913,                         
  4441.     noToolboxNameErr = -914,                         
  4442.     noResponseErr = -915,                            
  4443.     portClosedErr = -916,                            
  4444.     sessClosedErr = -917,                            
  4445.     badPortNameErr = -919,                           
  4446.     noDefaultUserErr = -922,                         
  4447.     notLoggedInErr = -923,                           
  4448.     noUserRefErr = -924,                             
  4449.     networkErr = -925,                               
  4450.     noInformErr = -926,                              
  4451.     authFailErr = -927,                              
  4452.     noUserRecErr = -928,                             
  4453.     badServiceMethodErr = -930,                      
  4454.     badLocNameErr = -931,                            
  4455.     guestNotAllowedErr = -932,                       
  4456.     swOverrunErr = 1,                                
  4457.     parityErr = 16,                                  
  4458.     hwOverrunErr = 32                                
  4459. };
  4460. enum {
  4461.     framingErr = 64,                                 
  4462.     dsBusError = 1,                                  
  4463.     dsAddressErr = 2,                                
  4464.     dsIllInstErr = 3,                                
  4465.     dsZeroDivErr = 4,                                
  4466.     dsChkErr = 5,                                    
  4467.     dsOvflowErr = 6,                                 
  4468.     dsPrivErr = 7,                                   
  4469.     dsTraceErr = 8,                                  
  4470.     dsLineAErr = 9,                                  
  4471.     dsLineFErr = 10,                                 
  4472.     dsMiscErr = 11,                                  
  4473.     dsCoreErr = 12,                                  
  4474.     dsIrqErr = 13,                                   
  4475.     dsIOCoreErr = 14,                                
  4476.     dsLoadErr = 15,                                  
  4477.     dsFPErr = 16,                                    
  4478.     dsNoPackErr = 17,                                
  4479.     dsNoPk1 = 18,                                    
  4480.     dsNoPk2 = 19                                     
  4481. };
  4482. enum {
  4483.     dsNoPk3 = 20,                                    
  4484.     dsNoPk4 = 21,                                    
  4485.     dsNoPk5 = 22,                                    
  4486.     dsNoPk6 = 23,                                    
  4487.     dsNoPk7 = 24,                                    
  4488.     dsMemFullErr = 25,                               
  4489.     dsBadLaunch = 26,                                
  4490.     dsFSErr = 27,                                    
  4491.     dsStknHeap = 28,                                 
  4492.     negZcbFreeErr = 33,                              
  4493.     dsFinderErr = 41,                                
  4494.     dsBadSlotInt = 51,                               
  4495.     dsBadSANEOpcode = 81,                            
  4496.     dsBadPatchHeader = 83,                           
  4497.     menuPrgErr = 84,                                 
  4498.     dsMBarNFnd = 85,                                 
  4499.     dsHMenuFindErr = 86,                             
  4500.     dsWDEFNotFound = 87,                             
  4501.     dsCDEFNotFound = 88,                             
  4502.     dsMDEFNotFound = 89                              
  4503. };
  4504. enum {
  4505.     dsNoFPU = 90,                                    
  4506.     dsNoPatch = 98,                                  
  4507.     dsBadPatch = 99,                                 
  4508.     dsParityErr = 101,                               
  4509.     dsOldSystem = 102,                               
  4510.     ds32BitMode = 103,                               
  4511.     dsNeedToWriteBootBlocks = 104,                   
  4512.     dsNotEnoughRAMToBoot = 105,                      
  4513.     dsBufPtrTooLow = 106,                            
  4514.     dsReinsert = 30,                                 
  4515.     shutDownAlert = 42,                              
  4516.     dsShutDownOrRestart = 20000,                     
  4517.     dsSwitchOffOrRestart = 20001,                    
  4518.     dsForcedQuit = 20002,                            
  4519.  
  4520.  
  4521.     dsMacsBugInstalled = -10,                        
  4522.     dsDisassemblerInstalled = -11,                   
  4523.     dsExtensionsDisabled = -13,                      
  4524.     dsGreeting = 40,                                 
  4525.     dsSysErr = 32767,                                
  4526.  
  4527.  
  4528.     WDEFNFnd = dsWDEFNotFound
  4529. };
  4530. enum {
  4531.     CDEFNFnd = dsCDEFNotFound,
  4532.     dsNotThe1 = 31,                                  
  4533.     dsBadStartupDisk = 42,                           
  4534.     dsSystemFileErr = 43,                            
  4535.     dsHD20Installed = -12,                           
  4536.     mBarNFnd = -126,                                 
  4537.     hMenuFindErr = -127,                             
  4538.     userBreak = -490,                                
  4539.     strUserBreak = -491,                             
  4540.     exUserBreak = -492,                              
  4541.  
  4542.  
  4543.     selectorErr = paramErr                           
  4544. };
  4545.  
  4546. extern short MacOSErr;
  4547.  
  4548.  
  4549.  
  4550.  
  4551. pascal void SysError(short errorCode)
  4552.     = {0x301F,0xA9C9}; 
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558. # 2 "crtlocal.h" 2
  4559.  
  4560. # 1 "Memory.h" 1
  4561.  
  4562.  
  4563.  
  4564.  
  4565.  
  4566.  
  4567.  
  4568.  
  4569.  
  4570.  
  4571.  
  4572.  
  4573.  
  4574. # 345 "Memory.h"
  4575.  
  4576. # 3 "crtlocal.h" 2
  4577.  
  4578. # 1 "OSUtils.h" 1
  4579.  
  4580.  
  4581.  
  4582.  
  4583.  
  4584.  
  4585.  
  4586.  
  4587.  
  4588.  
  4589.  
  4590.  
  4591.  
  4592. # 267 "OSUtils.h"
  4593.  
  4594. # 4 "crtlocal.h" 2
  4595.  
  4596. # 1 "SegLoad.h" 1
  4597.  
  4598.  
  4599.  
  4600.  
  4601.  
  4602.  
  4603.  
  4604.  
  4605.  
  4606.  
  4607.  
  4608.  
  4609.  
  4610. # 57 "SegLoad.h"
  4611.  
  4612. # 5 "crtlocal.h" 2
  4613.  
  4614. # 1 "Quickdraw.h" 1
  4615.  
  4616.  
  4617.  
  4618.  
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624.  
  4625.  
  4626.  
  4627.  
  4628.  
  4629. # 1078 "Quickdraw.h"
  4630.  
  4631. # 6 "crtlocal.h" 2
  4632.  
  4633. # 1 "Files.h" 1
  4634.  
  4635.  
  4636.  
  4637.  
  4638.  
  4639.  
  4640.  
  4641.  
  4642.  
  4643.  
  4644.  
  4645.  
  4646.  
  4647.  
  4648.  
  4649.  
  4650.  
  4651.  
  4652.  
  4653.  
  4654.  
  4655.  
  4656.  
  4657.  
  4658.  
  4659.  
  4660.  
  4661.  
  4662.  
  4663.  
  4664. enum {
  4665.  
  4666.  
  4667.  
  4668.  fsAtMark = 0,
  4669.  fOnDesk = 1,
  4670.  fsCurPerm = 0,
  4671.  fHasBundle = 8192,
  4672.  fsRdPerm = 1,
  4673.  fInvisible = 16384,
  4674.  fTrash = -3,
  4675.  fsWrPerm = 2,
  4676.  fDesktop = -2,
  4677.  fsRdWrPerm = 3,
  4678.  fDisk = 0,
  4679.  fsRdWrShPerm = 4,
  4680.  fsFromStart = 1,
  4681.  fsFromLEOF = 2,
  4682.  fsFromMark = 3,
  4683.  rdVerify = 64,
  4684.  ioDirFlg = 3,                         
  4685.  ioDirMask = 0x10,
  4686.  fsRtParID = 1,
  4687.  fsRtDirID = 2
  4688. };
  4689. enum {
  4690.  
  4691.  
  4692.  fsSBPartialName = 1,
  4693.  fsSBFullName = 2,
  4694.  fsSBFlAttrib = 4,
  4695.  fsSBFlFndrInfo = 8,
  4696.  fsSBFlLgLen = 32,
  4697.  fsSBFlPyLen = 64,
  4698.  fsSBFlRLgLen = 128,
  4699.  fsSBFlRPyLen = 256,
  4700.  fsSBFlCrDat = 512,
  4701.  fsSBFlMdDat = 1024,
  4702.  fsSBFlBkDat = 2048,
  4703.  fsSBFlXFndrInfo = 4096,
  4704.  fsSBFlParID = 8192,
  4705.  fsSBNegate = 16384,
  4706.  fsSBDrUsrWds = 8,
  4707.  fsSBDrNmFls = 16,
  4708.  fsSBDrCrDat = 512,
  4709.  fsSBDrMdDat = 1024,
  4710.  fsSBDrBkDat = 2048,
  4711.  fsSBDrFndrInfo = 4096
  4712. };
  4713. enum {
  4714.  fsSBDrParID = 8192,
  4715.  
  4716.  
  4717.  bLimitFCBs = 31,
  4718.  bLocalWList = 30,
  4719.  bNoMiniFndr = 29,
  4720.  bNoVNEdit = 28,
  4721.  bNoLclSync = 27,
  4722.  bTrshOffLine = 26,
  4723.  bNoSwitchTo = 25,
  4724.  bNoDeskItems = 20,
  4725.  bNoBootBlks = 19,
  4726.  bAccessCntl = 18,
  4727.  bNoSysDir = 17,
  4728.  bHasExtFSVol = 16,
  4729.  bHasOpenDeny = 15,
  4730.  bHasCopyFile = 14,
  4731.  bHasMoveRename = 13,
  4732.  bHasDesktopMgr = 12,
  4733.  bHasShortName = 11,
  4734.  bHasFolderLock = 10,
  4735.  bHasPersonalAccessPrivileges = 9
  4736. };
  4737. enum {
  4738.  bHasUserGroupList = 8,
  4739.  bHasCatSearch = 7,
  4740.  bHasFileIDs = 6,
  4741.  bHasBTreeMgr = 5,
  4742.  bHasBlankAccessPrivileges = 4,
  4743.  
  4744.  
  4745.  kLargeIcon = 1,
  4746.  kLarge4BitIcon = 2,
  4747.  kLarge8BitIcon = 3,
  4748.  kSmallIcon = 4,
  4749.  kSmall4BitIcon = 5,
  4750.  kSmall8BitIcon = 6,
  4751.  
  4752.  kLargeIconSize = 256,
  4753.  kLarge4BitIconSize = 512,
  4754.  kLarge8BitIconSize = 1024,
  4755.  kSmallIconSize = 64,
  4756.  kSmall4BitIconSize = 128,
  4757.  kSmall8BitIconSize = 256,
  4758.  
  4759.  
  4760.  fsUnixPriv = 1,
  4761.  
  4762.  
  4763.  developStage = 0x20,
  4764.  alphaStage = 0x40
  4765. };
  4766. enum {
  4767.  betaStage = 0x60,
  4768.  finalStage = 0x80,
  4769.  
  4770.  
  4771.  kNoUserAuthentication = 1,
  4772.  kPassword = 2,
  4773.  kEncryptPassword = 3,
  4774.  kTwoWayEncryptPassword = 6
  4775. };
  4776.  
  4777. enum {hFileInfo,dirInfo};
  4778. typedef unsigned char CInfoType;
  4779.  
  4780.  
  4781. struct FInfo {
  4782.  OSType fdType;                         
  4783.  OSType fdCreator;                     
  4784.  unsigned short fdFlags;             
  4785.  Point fdLocation;                     
  4786.  short fdFldr;                         
  4787. };
  4788.  
  4789. typedef struct FInfo FInfo;
  4790.  
  4791. struct FXInfo {
  4792.  short fdIconID;                     
  4793.  short fdUnused[3];                     
  4794.  char fdScript;                         
  4795.  char fdXFlags;                         
  4796.  short fdComment;                     
  4797.  long fdPutAway;                     
  4798. };
  4799.  
  4800. typedef struct FXInfo FXInfo;
  4801.  
  4802. struct DInfo {
  4803.  Rect frRect;                         
  4804.  unsigned short frFlags;             
  4805.  Point frLocation;                     
  4806.  short frView;                         
  4807. };
  4808.  
  4809. typedef struct DInfo DInfo;
  4810.  
  4811. struct DXInfo {
  4812.  Point frScroll;                     
  4813.  long frOpenChain;                     
  4814.  char frScript;                         
  4815.  char frXFlags;                         
  4816.  short frComment;                     
  4817.  long frPutAway;                     
  4818. };
  4819.  
  4820. typedef struct DXInfo DXInfo;
  4821.  
  4822. struct GetVolParmsInfoBuffer {
  4823.  short vMVersion;                     
  4824.  long vMAttrib;                         
  4825.  Handle vMLocalHand;                 
  4826.  long vMServerAdr;                     
  4827.  long vMVolumeGrade;                 
  4828.  short vMForeignPrivID;                 
  4829. };
  4830.  
  4831. typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
  4832.  
  4833.  
  4834. # 209 "Files.h"
  4835.  
  4836.  
  4837. struct IOParam {
  4838.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  4839.  short ioRefNum;                     
  4840.  char ioVersNum;                     
  4841.  char ioPermssn;                     
  4842.  Ptr ioMisc;                         
  4843.  Ptr ioBuffer;                         
  4844.  long ioReqCount;                     
  4845.  long ioActCount;                     
  4846.  short ioPosMode;                     
  4847.  long ioPosOffset;                     
  4848. };
  4849.  
  4850. typedef struct IOParam IOParam;
  4851.  
  4852. struct FileParam {
  4853.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  4854.  short ioFRefNum;                     
  4855.  char ioFVersNum;                     
  4856.  char filler1;
  4857.  short ioFDirIndex;                     
  4858.  unsigned char ioFlAttrib;             
  4859.  unsigned char ioFlVersNum;             
  4860.  FInfo ioFlFndrInfo;                 
  4861.  unsigned long ioFlNum;                 
  4862.  unsigned short ioFlStBlk;             
  4863.  long ioFlLgLen;                     
  4864.  long ioFlPyLen;                     
  4865.  unsigned short ioFlRStBlk;             
  4866.  long ioFlRLgLen;                     
  4867.  long ioFlRPyLen;                     
  4868.  unsigned long ioFlCrDat;             
  4869.  unsigned long ioFlMdDat;             
  4870. };
  4871.  
  4872. typedef struct FileParam FileParam;
  4873.  
  4874. struct VolumeParam {
  4875.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  4876.  long filler2;
  4877.  short ioVolIndex;                     
  4878.  unsigned long ioVCrDate;             
  4879.  unsigned long ioVLsBkUp;             
  4880.  unsigned short ioVAtrb;             
  4881.  unsigned short ioVNmFls;             
  4882.  unsigned short ioVDirSt;             
  4883.  short ioVBlLn;                         
  4884.  unsigned short ioVNmAlBlks;         
  4885.  long ioVAlBlkSiz;                     
  4886.  long ioVClpSiz;                     
  4887.  unsigned short ioAlBlSt;             
  4888.  unsigned long ioVNxtFNum;             
  4889.  unsigned short ioVFrBlk;             
  4890. };
  4891.  
  4892. typedef struct VolumeParam VolumeParam;
  4893.  
  4894. struct CntrlParam {
  4895.  QElem *qLink;                         
  4896.  short qType;                         
  4897.  short ioTrap;                         
  4898.  Ptr ioCmdAddr;                         
  4899.  ProcPtr ioCompletion;                 
  4900.  OSErr ioResult;                     
  4901.  StringPtr ioNamePtr;                 
  4902.  short ioVRefNum;                     
  4903.  short ioCRefNum;                     
  4904.  short csCode;                         
  4905.  short csParam[11];                     
  4906. };
  4907.  
  4908. typedef struct CntrlParam CntrlParam;
  4909.  
  4910. struct SlotDevParam {
  4911.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  4912.  short ioRefNum;
  4913.  char ioVersNum;
  4914.  char ioPermssn;
  4915.  Ptr ioMix;
  4916.  short ioFlags;
  4917.  char ioSlot;
  4918.  char ioID;
  4919. };
  4920.  
  4921. typedef struct SlotDevParam SlotDevParam;
  4922.  
  4923. struct MultiDevParam {
  4924.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  4925.  short ioRefNum;
  4926.  char ioVersNum;
  4927.  char ioPermssn;
  4928.  Ptr ioMix;
  4929.  short ioFlags;
  4930.  Ptr ioSEBlkPtr;
  4931. };
  4932.  
  4933. typedef struct MultiDevParam MultiDevParam;
  4934.  
  4935. union ParamBlockRec {
  4936.  IOParam ioParam;
  4937.  FileParam fileParam;
  4938.  VolumeParam volumeParam;
  4939.  CntrlParam cntrlParam;
  4940.  SlotDevParam slotDevParam;
  4941.  MultiDevParam multiDevParam;
  4942. };
  4943.  
  4944. typedef union ParamBlockRec ParamBlockRec;
  4945. typedef ParamBlockRec *ParmBlkPtr;
  4946.  
  4947. struct HFileInfo {
  4948.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  4949.  short ioFRefNum;
  4950.  char ioFVersNum;
  4951.  char filler1;
  4952.  short ioFDirIndex;
  4953.  char ioFlAttrib;
  4954.  char filler2;
  4955.  FInfo ioFlFndrInfo;
  4956.  long ioDirID;
  4957.  unsigned short ioFlStBlk;
  4958.  long ioFlLgLen;
  4959.  long ioFlPyLen;
  4960.  unsigned short ioFlRStBlk;
  4961.  long ioFlRLgLen;
  4962.  long ioFlRPyLen;
  4963.  unsigned long ioFlCrDat;
  4964.  unsigned long ioFlMdDat;
  4965.  unsigned long ioFlBkDat;
  4966.  FXInfo ioFlXFndrInfo;
  4967.  long ioFlParID;
  4968.  long ioFlClpSiz;
  4969. };
  4970.  
  4971. typedef struct HFileInfo HFileInfo;
  4972.  
  4973. struct DirInfo {
  4974.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  4975.  short ioFRefNum;
  4976.  short filler1;
  4977.  short ioFDirIndex;
  4978.  char ioFlAttrib;
  4979.  char filler2;
  4980.  DInfo ioDrUsrWds;
  4981.  long ioDrDirID;
  4982.  unsigned short ioDrNmFls;
  4983.  short filler3[9];
  4984.  unsigned long ioDrCrDat;
  4985.  unsigned long ioDrMdDat;
  4986.  unsigned long ioDrBkDat;
  4987.  DXInfo ioDrFndrInfo;
  4988.  long ioDrParID;
  4989. };
  4990.  
  4991. typedef struct DirInfo DirInfo;
  4992.  
  4993. union CInfoPBRec {
  4994.  HFileInfo hFileInfo;
  4995.  DirInfo dirInfo;
  4996. };
  4997.  
  4998. typedef union CInfoPBRec CInfoPBRec;
  4999. typedef CInfoPBRec *CInfoPBPtr;
  5000.  
  5001. struct HIOParam {
  5002.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5003.  short ioRefNum;
  5004.  char ioVersNum;
  5005.  char ioPermssn;
  5006.  Ptr ioMisc;
  5007.  Ptr ioBuffer;
  5008.  long ioReqCount;
  5009.  long ioActCount;
  5010.  short ioPosMode;
  5011.  long ioPosOffset;
  5012.  short filler1;
  5013. };
  5014.  
  5015. typedef struct HIOParam HIOParam;
  5016.  
  5017. struct HFileParam {
  5018.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5019.  short ioFRefNum;
  5020.  char ioFVersNum;
  5021.  char filler1;
  5022.  short ioFDirIndex;
  5023.  char ioFlAttrib;
  5024.  char ioFlVersNum;
  5025.  FInfo ioFlFndrInfo;
  5026.  long ioDirID;
  5027.  unsigned short ioFlStBlk;
  5028.  long ioFlLgLen;
  5029.  long ioFlPyLen;
  5030.  unsigned short ioFlRStBlk;
  5031.  long ioFlRLgLen;
  5032.  long ioFlRPyLen;
  5033.  unsigned long ioFlCrDat;
  5034.  unsigned long ioFlMdDat;
  5035. };
  5036.  
  5037. typedef struct HFileParam HFileParam;
  5038.  
  5039. struct HVolumeParam {
  5040.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5041.  long filler2;
  5042.  short ioVolIndex;
  5043.  unsigned long ioVCrDate;
  5044.  unsigned long ioVLsMod;
  5045.  short ioVAtrb;
  5046.  unsigned short ioVNmFls;
  5047.  short ioVBitMap;
  5048.  short ioAllocPtr;
  5049.  unsigned short ioVNmAlBlks;
  5050.  long ioVAlBlkSiz;
  5051.  long ioVClpSiz;
  5052.  short ioAlBlSt;
  5053.  long ioVNxtCNID;
  5054.  unsigned short ioVFrBlk;
  5055.  unsigned short ioVSigWord;
  5056.  short ioVDrvInfo;
  5057.  short ioVDRefNum;
  5058.  short ioVFSID;
  5059.  unsigned long ioVBkUp;
  5060.  unsigned short ioVSeqNum;
  5061.  long ioVWrCnt;
  5062.  long ioVFilCnt;
  5063.  long ioVDirCnt;
  5064.  long ioVFndrInfo[8];
  5065. };
  5066.  
  5067. typedef struct HVolumeParam HVolumeParam;
  5068.  
  5069. struct AccessParam {
  5070.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5071.  short filler3;
  5072.  short ioDenyModes;                     
  5073.  short filler4;
  5074.  char filler5;
  5075.  char ioACUser;                         
  5076.  long filler6;
  5077.  long ioACOwnerID;                     
  5078.  long ioACGroupID;                     
  5079.  long ioACAccess;                     
  5080. };
  5081.  
  5082. typedef struct AccessParam AccessParam;
  5083.  
  5084. struct ObjParam {
  5085.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5086.  short filler7;
  5087.  short ioObjType;                     
  5088.  StringPtr ioObjNamePtr;             
  5089.  long ioObjID;                         
  5090.  long ioReqCount;                     
  5091.  long ioActCount;                     
  5092. };
  5093.  
  5094. typedef struct ObjParam ObjParam;
  5095.  
  5096. struct CopyParam {
  5097.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5098.  short ioDstVRefNum;                 
  5099.  short filler8;
  5100.  StringPtr ioNewName;                 
  5101.  StringPtr ioCopyName;                 
  5102.  long ioNewDirID;                     
  5103.  long filler14;
  5104.  long filler15;
  5105.  long ioDirID;                         
  5106. };
  5107.  
  5108. typedef struct CopyParam CopyParam;
  5109.  
  5110. struct WDParam {
  5111.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5112.  short filler9;
  5113.  short ioWDIndex;
  5114.  long ioWDProcID;
  5115.  short ioWDVRefNum;
  5116.  short filler10;
  5117.  long filler11;
  5118.  long filler12;
  5119.  long filler13;
  5120.  long ioWDDirID;
  5121. };
  5122.  
  5123. typedef struct WDParam WDParam;
  5124.  
  5125. struct FIDParam {
  5126.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5127.  long filler1;
  5128.  StringPtr ioDestNamePtr;             
  5129.  long filler2;
  5130.  long ioDestDirID;                     
  5131.  long filler3;
  5132.  long filler4;
  5133.  long ioSrcDirID;                     
  5134.  short filler5;
  5135.  long ioFileID;                         
  5136. };
  5137.  
  5138. typedef struct FIDParam FIDParam;
  5139.  
  5140.  
  5141. struct CatPositionRec {
  5142.  long initialize;
  5143.  short priv[6];
  5144. };
  5145.  
  5146. typedef struct CatPositionRec CatPositionRec;
  5147.  
  5148. struct FSSpec {
  5149.  short vRefNum;
  5150.  long parID;
  5151.  Str63 name;
  5152. };
  5153.  
  5154. typedef struct FSSpec FSSpec;
  5155. typedef FSSpec *FSSpecPtr, **FSSpecHandle;
  5156.  
  5157.  
  5158. typedef FSSpecPtr FSSpecArrayPtr;     
  5159.  
  5160.  
  5161.  
  5162. typedef OSType VolumeType;             
  5163.  
  5164.  
  5165.  
  5166.  
  5167.  
  5168.  
  5169. struct VolMountInfoHeader {
  5170.  short length;                         
  5171.  VolumeType media;                     
  5172. };
  5173.  
  5174. typedef struct VolMountInfoHeader VolMountInfoHeader;
  5175. typedef VolMountInfoHeader *VolMountInfoPtr;
  5176.  
  5177. struct AFPVolMountInfo {
  5178.  short length;                         
  5179.  VolumeType media;                     
  5180.  short flags;                         
  5181.  char nbpInterval;                     
  5182.  char nbpCount;                         
  5183.  short uamType;                         
  5184.  short zoneNameOffset;                 
  5185.  short serverNameOffset;             
  5186.  short volNameOffset;                 
  5187.  short userNameOffset;                 
  5188.  short userPasswordOffset;             
  5189.  short volPasswordOffset;             
  5190.  char AFPData[144];                     
  5191. };
  5192.  
  5193. typedef struct AFPVolMountInfo AFPVolMountInfo;
  5194. typedef AFPVolMountInfo *AFPVolMountInfoPtr;
  5195.  
  5196. struct CSParam {
  5197.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5198.  FSSpecPtr ioMatchPtr;                 
  5199.  long ioReqMatchCount;                 
  5200.  long ioActMatchCount;                 
  5201.  long ioSearchBits;                     
  5202.  CInfoPBPtr ioSearchInfo1;             
  5203.  CInfoPBPtr ioSearchInfo2;             
  5204.  long ioSearchTime;                     
  5205.  CatPositionRec ioCatPosition;         
  5206.  Ptr ioOptBuffer;                     
  5207.  long ioOptBufSize;                     
  5208. };
  5209.  
  5210. typedef struct CSParam CSParam;
  5211. typedef CSParam *CSParamPtr;
  5212.  
  5213. struct DTPBRec {
  5214.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5215.  short ioDTRefNum;                     
  5216.  short ioIndex;
  5217.  long ioTagInfo;
  5218.  Ptr ioDTBuffer;
  5219.  long ioDTReqCount;
  5220.  long ioDTActCount;
  5221.  char ioFiller1;
  5222.  char ioIconType;
  5223.  short ioFiller2;
  5224.  long ioDirID;
  5225.  OSType ioFileCreator;
  5226.  OSType ioFileType;
  5227.  long ioFiller3;
  5228.  long ioDTLgLen;
  5229.  long ioDTPyLen;
  5230.  short ioFiller4[14];
  5231.  long ioAPPLParID;
  5232. };
  5233.  
  5234. typedef struct DTPBRec DTPBRec;
  5235. typedef DTPBRec *DTPBPtr;
  5236.  
  5237. struct ForeignPrivParam {
  5238.  QElemPtr qLink; short qType; short ioTrap; Ptr ioCmdAddr; ProcPtr ioCompletion; OSErr ioResult; StringPtr ioNamePtr; short ioVRefNum;                    
  5239.  long ioFiller1;
  5240.  long ioFiller2;
  5241.  Ptr ioForeignPrivBuffer;
  5242.  long ioForeignPrivActCount;
  5243.  long ioForeignPrivReqCount;
  5244.  long ioFiller3;
  5245.  long ioForeignPrivDirID;
  5246.  long ioForeignPrivInfo1;
  5247.  long ioForeignPrivInfo2;
  5248.  long ioForeignPrivInfo3;
  5249.  long ioForeignPrivInfo4;
  5250. };
  5251.  
  5252. typedef struct ForeignPrivParam ForeignPrivParam;
  5253. typedef ForeignPrivParam *ForeignPrivParamPtr;
  5254.  
  5255. union HParamBlockRec {
  5256.  HIOParam ioParam;
  5257.  HFileParam fileParam;
  5258.  HVolumeParam volumeParam;
  5259.  AccessParam accessParam;
  5260.  ObjParam objParam;
  5261.  CopyParam copyParam;
  5262.  WDParam wdParam;
  5263.  FIDParam fidParam;
  5264.  CSParam csParam;
  5265.  ForeignPrivParam foreignPrivParam;
  5266. };
  5267.  
  5268. typedef union HParamBlockRec HParamBlockRec;
  5269. typedef HParamBlockRec *HParmBlkPtr;
  5270.  
  5271. struct CMovePBRec {
  5272.  QElemPtr qLink;
  5273.  short qType;
  5274.  short ioTrap;
  5275.  Ptr ioCmdAddr;
  5276.  ProcPtr ioCompletion;
  5277.  OSErr ioResult;
  5278.  StringPtr ioNamePtr;
  5279.  short ioVRefNum;
  5280.  long filler1;
  5281.  StringPtr ioNewName;
  5282.  long filler2;
  5283.  long ioNewDirID;
  5284.  long filler3[2];
  5285.  long ioDirID;
  5286. };
  5287.  
  5288. typedef struct CMovePBRec CMovePBRec;
  5289. typedef CMovePBRec *CMovePBPtr;
  5290.  
  5291. struct WDPBRec {
  5292.  QElemPtr qLink;
  5293.  short qType;
  5294.  short ioTrap;
  5295.  Ptr ioCmdAddr;
  5296.  ProcPtr ioCompletion;
  5297.  OSErr ioResult;
  5298.  StringPtr ioNamePtr;
  5299.  short ioVRefNum;
  5300.  short filler1;
  5301.  short ioWDIndex;
  5302.  long ioWDProcID;
  5303.  short ioWDVRefNum;
  5304.  short filler2[7];
  5305.  long ioWDDirID;
  5306. };
  5307.  
  5308. typedef struct WDPBRec WDPBRec;
  5309. typedef WDPBRec *WDPBPtr;
  5310.  
  5311. struct FCBPBRec {
  5312.  QElemPtr qLink;
  5313.  short qType;
  5314.  short ioTrap;
  5315.  Ptr ioCmdAddr;
  5316.  ProcPtr ioCompletion;
  5317.  OSErr ioResult;
  5318.  StringPtr ioNamePtr;
  5319.  short ioVRefNum;
  5320.  short ioRefNum;
  5321.  short filler;
  5322.  short ioFCBIndx;
  5323.  short filler1;
  5324.  long ioFCBFlNm;
  5325.  short ioFCBFlags;
  5326.  unsigned short ioFCBStBlk;
  5327.  long ioFCBEOF;
  5328.  long ioFCBPLen;
  5329.  long ioFCBCrPs;
  5330.  short ioFCBVRefNum;
  5331.  long ioFCBClpSiz;
  5332.  long ioFCBParID;
  5333. };
  5334.  
  5335. typedef struct FCBPBRec FCBPBRec;
  5336. typedef FCBPBRec *FCBPBPtr;
  5337.  
  5338. struct VCB {
  5339.  QElemPtr qLink;
  5340.  short qType;
  5341.  short vcbFlags;
  5342.  unsigned short vcbSigWord;
  5343.  unsigned long vcbCrDate;
  5344.  unsigned long vcbLsMod;
  5345.  short vcbAtrb;
  5346.  unsigned short vcbNmFls;
  5347.  short vcbVBMSt;
  5348.  short vcbAllocPtr;
  5349.  unsigned short vcbNmAlBlks;
  5350.  long vcbAlBlkSiz;
  5351.  long vcbClpSiz;
  5352.  short vcbAlBlSt;
  5353.  long vcbNxtCNID;
  5354.  unsigned short vcbFreeBks;
  5355.  Str27 vcbVN;
  5356.  short vcbDrvNum;
  5357.  short vcbDRefNum;
  5358.  short vcbFSID;
  5359.  short vcbVRefNum;
  5360.  Ptr vcbMAdr;
  5361.  Ptr vcbBufAdr;
  5362.  short vcbMLen;
  5363.  short vcbDirIndex;
  5364.  short vcbDirBlk;
  5365.  unsigned long vcbVolBkUp;
  5366.  unsigned short vcbVSeqNum;
  5367.  long vcbWrCnt;
  5368.  long vcbXTClpSiz;
  5369.  long vcbCTClpSiz;
  5370.  unsigned short vcbNmRtDirs;
  5371.  long vcbFilCnt;
  5372.  long vcbDirCnt;
  5373.  long vcbFndrInfo[8];
  5374.  unsigned short vcbVCSize;
  5375.  unsigned short vcbVBMCSiz;
  5376.  unsigned short vcbCtlCSiz;
  5377.  unsigned short vcbXTAlBlks;
  5378.  unsigned short vcbCTAlBlks;
  5379.  short vcbXTRef;
  5380.  short vcbCTRef;
  5381.  Ptr vcbCtlBuf;
  5382.  long vcbDirIDM;
  5383.  short vcbOffsM;
  5384. };
  5385.  
  5386. typedef struct VCB VCB;
  5387.  
  5388. struct DrvQEl {
  5389.  QElemPtr qLink;
  5390.  short qType;
  5391.  short dQDrive;
  5392.  short dQRefNum;
  5393.  short dQFSID;
  5394.  unsigned short dQDrvSz;
  5395.  unsigned short dQDrvSz2;
  5396. };
  5397.  
  5398. typedef struct DrvQEl DrvQEl;
  5399. typedef DrvQEl *DrvQElPtr;
  5400.  
  5401.  
  5402. struct NumVersion {
  5403.  unsigned char majorRev;             
  5404.  
  5405.  
  5406.  
  5407.  
  5408.     unsigned int minorRev : 4;           
  5409.     unsigned int bugFixRev : 4;          
  5410.  
  5411.  unsigned char stage;                 
  5412.  unsigned char nonRelRev;             
  5413. };
  5414.  
  5415. typedef struct NumVersion NumVersion;
  5416.  
  5417.  
  5418. struct VersRec {
  5419.  NumVersion numericVersion;             
  5420.  short countryCode;                     
  5421.  Str255 shortVersion;                 
  5422.  Str255 reserved;                     
  5423. };
  5424.  
  5425. typedef struct VersRec VersRec;
  5426. typedef VersRec *VersRecPtr, **VersRecHndl;
  5427.  
  5428.  
  5429.  
  5430.  
  5431.  
  5432. pascal OSErr PBOpen(ParmBlkPtr paramBlock,Boolean async); 
  5433. #pragma parameter __D0 PBOpenSync(__A0)
  5434. pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  5435.  = 0xA000; 
  5436. #pragma parameter __D0 PBOpenAsync(__A0)
  5437. pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  5438.  = 0xA400; 
  5439. pascal OSErr PBClose(ParmBlkPtr paramBlock,Boolean async); 
  5440. #pragma parameter __D0 PBCloseSync(__A0)
  5441. pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  5442.  = 0xA001; 
  5443. #pragma parameter __D0 PBCloseAsync(__A0)
  5444. pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  5445.  = 0xA401; 
  5446. pascal OSErr PBRead(ParmBlkPtr paramBlock,Boolean async); 
  5447. #pragma parameter __D0 PBReadSync(__A0)
  5448. pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  5449.  = 0xA002; 
  5450. #pragma parameter __D0 PBReadAsync(__A0)
  5451. pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  5452.  = 0xA402; 
  5453. pascal OSErr PBWrite(ParmBlkPtr paramBlock,Boolean async); 
  5454. #pragma parameter __D0 PBWriteSync(__A0)
  5455. pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  5456.  = 0xA003; 
  5457. #pragma parameter __D0 PBWriteAsync(__A0)
  5458. pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  5459.  = 0xA403; 
  5460. pascal OSErr PBGetVInfo(ParmBlkPtr paramBlock,Boolean async); 
  5461. #pragma parameter __D0 PBGetVInfoSync(__A0)
  5462. pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  5463.  = 0xA007; 
  5464. #pragma parameter __D0 PBGetVInfoAsync(__A0)
  5465. pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  5466.  = 0xA407; 
  5467. pascal OSErr PBGetVol(ParmBlkPtr paramBlock,Boolean async); 
  5468. #pragma parameter __D0 PBGetVolSync(__A0)
  5469. pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  5470.  = 0xA014; 
  5471. #pragma parameter __D0 PBGetVolAsync(__A0)
  5472. pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  5473.  = 0xA414; 
  5474. pascal OSErr PBSetVol(ParmBlkPtr paramBlock,Boolean async); 
  5475. #pragma parameter __D0 PBSetVolSync(__A0)
  5476. pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  5477.  = 0xA015; 
  5478. #pragma parameter __D0 PBSetVolAsync(__A0)
  5479. pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  5480.  = 0xA415; 
  5481. pascal OSErr PBFlushVol(ParmBlkPtr paramBlock,Boolean async); 
  5482. #pragma parameter __D0 PBFlushVolSync(__A0)
  5483. pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  5484.  = 0xA013; 
  5485. #pragma parameter __D0 PBFlushVolAsync(__A0)
  5486. pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  5487.  = 0xA413; 
  5488. pascal OSErr PBCreate(ParmBlkPtr paramBlock,Boolean async); 
  5489. #pragma parameter __D0 PBCreateSync(__A0)
  5490. pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  5491.  = 0xA008; 
  5492. #pragma parameter __D0 PBCreateAsync(__A0)
  5493. pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  5494.  = 0xA408; 
  5495. pascal OSErr PBDelete(ParmBlkPtr paramBlock,Boolean async); 
  5496. #pragma parameter __D0 PBDeleteSync(__A0)
  5497. pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  5498.  = 0xA009; 
  5499. #pragma parameter __D0 PBDeleteAsync(__A0)
  5500. pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  5501.  = 0xA409; 
  5502. pascal OSErr PBOpenDF(ParmBlkPtr paramBlock,Boolean async); 
  5503. #pragma parameter __D0 PBOpenDFSync(__A0)
  5504. pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  5505.  = {0x701A,0xA060}; 
  5506. #pragma parameter __D0 PBOpenDFAsync(__A0)
  5507. pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  5508.  = {0x701A,0xA460}; 
  5509. pascal OSErr PBOpenRF(ParmBlkPtr paramBlock,Boolean async); 
  5510. #pragma parameter __D0 PBOpenRFSync(__A0)
  5511. pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  5512.  = 0xA00A; 
  5513. #pragma parameter __D0 PBOpenRFAsync(__A0)
  5514. pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  5515.  = 0xA40A; 
  5516. pascal OSErr PBRename(ParmBlkPtr paramBlock,Boolean async); 
  5517. #pragma parameter __D0 PBRenameSync(__A0)
  5518. pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  5519.  = 0xA00B; 
  5520. #pragma parameter __D0 PBRenameAsync(__A0)
  5521. pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  5522.  = 0xA40B; 
  5523. pascal OSErr PBGetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  5524. #pragma parameter __D0 PBGetFInfoSync(__A0)
  5525. pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  5526.  = 0xA00C; 
  5527. #pragma parameter __D0 PBGetFInfoAsync(__A0)
  5528. pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  5529.  = 0xA40C; 
  5530. pascal OSErr PBSetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  5531. #pragma parameter __D0 PBSetFInfoSync(__A0)
  5532. pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  5533.  = 0xA00D; 
  5534. #pragma parameter __D0 PBSetFInfoAsync(__A0)
  5535. pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  5536.  = 0xA40D; 
  5537. pascal OSErr PBSetFLock(ParmBlkPtr paramBlock,Boolean async); 
  5538. #pragma parameter __D0 PBSetFLockSync(__A0)
  5539. pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  5540.  = 0xA041; 
  5541. #pragma parameter __D0 PBSetFLockAsync(__A0)
  5542. pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  5543.  = 0xA441; 
  5544. pascal OSErr PBRstFLock(ParmBlkPtr paramBlock,Boolean async); 
  5545. #pragma parameter __D0 PBRstFLockSync(__A0)
  5546. pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  5547.  = 0xA042; 
  5548. #pragma parameter __D0 PBRstFLockAsync(__A0)
  5549. pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  5550.  = 0xA442; 
  5551. pascal OSErr PBSetFVers(ParmBlkPtr paramBlock,Boolean async); 
  5552. #pragma parameter __D0 PBSetFVersSync(__A0)
  5553. pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  5554.  = 0xA043; 
  5555. #pragma parameter __D0 PBSetFVersAsync(__A0)
  5556. pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  5557.  = 0xA443; 
  5558. pascal OSErr PBAllocate(ParmBlkPtr paramBlock,Boolean async); 
  5559. #pragma parameter __D0 PBAllocateSync(__A0)
  5560. pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  5561.  = 0xA010; 
  5562. #pragma parameter __D0 PBAllocateAsync(__A0)
  5563. pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  5564.  = 0xA410; 
  5565. pascal OSErr PBGetEOF(ParmBlkPtr paramBlock,Boolean async); 
  5566. #pragma parameter __D0 PBGetEOFSync(__A0)
  5567. pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  5568.  = 0xA011; 
  5569. #pragma parameter __D0 PBGetEOFAsync(__A0)
  5570. pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  5571.  = 0xA411; 
  5572. pascal OSErr PBSetEOF(ParmBlkPtr paramBlock,Boolean async); 
  5573. #pragma parameter __D0 PBSetEOFSync(__A0)
  5574. pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  5575.  = 0xA012; 
  5576. #pragma parameter __D0 PBSetEOFAsync(__A0)
  5577. pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  5578.  = 0xA412; 
  5579. pascal OSErr PBGetFPos(ParmBlkPtr paramBlock,Boolean async); 
  5580. #pragma parameter __D0 PBGetFPosSync(__A0)
  5581. pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  5582.  = 0xA018; 
  5583. #pragma parameter __D0 PBGetFPosAsync(__A0)
  5584. pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  5585.  = 0xA418; 
  5586. pascal OSErr PBSetFPos(ParmBlkPtr paramBlock,Boolean async); 
  5587. #pragma parameter __D0 PBSetFPosSync(__A0)
  5588. pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  5589.  = 0xA044; 
  5590. #pragma parameter __D0 PBSetFPosAsync(__A0)
  5591. pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  5592.  = 0xA444; 
  5593. pascal OSErr PBFlushFile(ParmBlkPtr paramBlock,Boolean async); 
  5594. #pragma parameter __D0 PBFlushFileSync(__A0)
  5595. pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  5596.  = 0xA045; 
  5597. #pragma parameter __D0 PBFlushFileAsync(__A0)
  5598. pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  5599.  = 0xA445; 
  5600. #pragma parameter __D0 PBMountVol(__A0)
  5601. pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  5602.  = 0xA00F; 
  5603. #pragma parameter __D0 PBUnmountVol(__A0)
  5604. pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  5605.  = 0xA00E; 
  5606. #pragma parameter __D0 PBEject(__A0)
  5607. pascal OSErr PBEject(ParmBlkPtr paramBlock)
  5608.  = 0xA017; 
  5609. #pragma parameter __D0 PBOffLine(__A0)
  5610. pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  5611.  = 0xA035; 
  5612.  
  5613. pascal OSErr PBCatSearch(CSParamPtr paramBlock,Boolean async); 
  5614. #pragma parameter __D0 PBCatSearchSync(__A0)
  5615. pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  5616.  = {0x7018,0xA260}; 
  5617. #pragma parameter __D0 PBCatSearchAsync(__A0)
  5618. pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  5619.  = {0x7018,0xA660}; 
  5620.  
  5621. pascal void AddDrive(short drvrRefNum,short drvNum,DrvQElPtr qEl); 
  5622. pascal OSErr FSOpen(ConstStr255Param fileName,short vRefNum,short *refNum); 
  5623. pascal OSErr OpenDF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  5624.  
  5625. OSErr fsopen(char *fileName,short vRefNum,short *refNum); 
  5626.  
  5627. pascal OSErr FSClose(short refNum); 
  5628. pascal OSErr FSRead(short refNum,long *count,void *buffPtr); 
  5629. pascal OSErr FSWrite(short refNum,long *count,const void *buffPtr); 
  5630. pascal OSErr GetVInfo(short drvNum,StringPtr volName,short *vRefNum,long *freeBytes); 
  5631.  
  5632. OSErr getvinfo(short drvNum,char *volName,short *vRefNum,long *freeBytes); 
  5633.  
  5634. pascal OSErr GetFInfo(ConstStr255Param fileName,short vRefNum,FInfo *fndrInfo); 
  5635.  
  5636. OSErr getfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  5637.  
  5638. pascal OSErr GetVol(StringPtr volName,short *vRefNum); 
  5639.  
  5640. OSErr getvol(char *volName,short *vRefNum); 
  5641.  
  5642. pascal OSErr SetVol(StringPtr volName,short vRefNum); 
  5643.  
  5644. OSErr setvol(char *volName,short vRefNum); 
  5645.  
  5646. pascal OSErr UnmountVol(StringPtr volName,short vRefNum); 
  5647.  
  5648. OSErr unmountvol(char *volName,short vRefNum); 
  5649.  
  5650. pascal OSErr Eject(StringPtr volName,short vRefNum); 
  5651.  
  5652. OSErr eject(char *volName,short vRefNum); 
  5653.  
  5654. pascal OSErr FlushVol(StringPtr volName,short vRefNum); 
  5655.  
  5656. OSErr flushvol(char *volName,short vRefNum); 
  5657.  
  5658. pascal OSErr Create(ConstStr255Param fileName,short vRefNum,OSType creator,
  5659.  OSType fileType); 
  5660.  
  5661. OSErr create(char *fileName,short vRefNum,OSType creator,OSType fileType); 
  5662.  
  5663. pascal OSErr FSDelete(ConstStr255Param fileName,short vRefNum); 
  5664.  
  5665. OSErr fsdelete(char *fileName,short vRefNum); 
  5666.  
  5667. pascal OSErr OpenRF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  5668.  
  5669. OSErr openrf(char *fileName,short vRefNum,short *refNum); 
  5670.  
  5671. pascal OSErr Rename(ConstStr255Param oldName,short vRefNum,ConstStr255Param newName); 
  5672.  
  5673. OSErr fsrename(char *oldName,short vRefNum,char *newName); 
  5674.  
  5675. pascal OSErr SetFInfo(ConstStr255Param fileName,short vRefNum,const FInfo *fndrInfo); 
  5676.  
  5677. OSErr setfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  5678.  
  5679. pascal OSErr SetFLock(ConstStr255Param fileName,short vRefNum); 
  5680.  
  5681. OSErr setflock(char *fileName,short vRefNum); 
  5682.  
  5683. pascal OSErr RstFLock(ConstStr255Param fileName,short vRefNum); 
  5684.  
  5685. OSErr rstflock(char *fileName,short vRefNum); 
  5686.  
  5687. pascal OSErr Allocate(short refNum,long *count); 
  5688. pascal OSErr GetEOF(short refNum,long *logEOF); 
  5689. pascal OSErr SetEOF(short refNum,long logEOF); 
  5690. pascal OSErr GetFPos(short refNum,long *filePos); 
  5691. pascal OSErr SetFPos(short refNum,short posMode,long posOff); 
  5692. pascal OSErr GetVRefNum(short fileRefNum,short *vRefNum); 
  5693.  
  5694. pascal OSErr PBOpenWD(WDPBPtr paramBlock,Boolean async); 
  5695. #pragma parameter __D0 PBOpenWDSync(__A0)
  5696. pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  5697.  = {0x7001,0xA260}; 
  5698. #pragma parameter __D0 PBOpenWDAsync(__A0)
  5699. pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  5700.  = {0x7001,0xA660}; 
  5701. pascal OSErr PBCloseWD(WDPBPtr paramBlock,Boolean async); 
  5702. #pragma parameter __D0 PBCloseWDSync(__A0)
  5703. pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  5704.  = {0x7002,0xA260}; 
  5705. #pragma parameter __D0 PBCloseWDAsync(__A0)
  5706. pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  5707.  = {0x7002,0xA660}; 
  5708. pascal OSErr PBHSetVol(WDPBPtr paramBlock,Boolean async); 
  5709. #pragma parameter __D0 PBHSetVolSync(__A0)
  5710. pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  5711.  = 0xA215; 
  5712. #pragma parameter __D0 PBHSetVolAsync(__A0)
  5713. pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  5714.  = 0xA615; 
  5715. pascal OSErr PBHGetVol(WDPBPtr paramBlock,Boolean async); 
  5716. #pragma parameter __D0 PBHGetVolSync(__A0)
  5717. pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  5718.  = 0xA214; 
  5719. #pragma parameter __D0 PBHGetVolAsync(__A0)
  5720. pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  5721.  = 0xA614; 
  5722. pascal OSErr PBCatMove(CMovePBPtr paramBlock,Boolean async); 
  5723. #pragma parameter __D0 PBCatMoveSync(__A0)
  5724. pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  5725.  = {0x7005,0xA260}; 
  5726. #pragma parameter __D0 PBCatMoveAsync(__A0)
  5727. pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  5728.  = {0x7005,0xA660}; 
  5729. pascal OSErr PBDirCreate(HParmBlkPtr paramBlock,Boolean async); 
  5730. #pragma parameter __D0 PBDirCreateSync(__A0)
  5731. pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  5732.  = {0x7006,0xA260}; 
  5733. #pragma parameter __D0 PBDirCreateAsync(__A0)
  5734. pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  5735.  = {0x7006,0xA660}; 
  5736. pascal OSErr PBGetWDInfo(WDPBPtr paramBlock,Boolean async); 
  5737. #pragma parameter __D0 PBGetWDInfoSync(__A0)
  5738. pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  5739.  = {0x7007,0xA260}; 
  5740. #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  5741. pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  5742.  = {0x7007,0xA660}; 
  5743. pascal OSErr PBGetFCBInfo(FCBPBPtr paramBlock,Boolean async); 
  5744. #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  5745. pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  5746.  = {0x7008,0xA260}; 
  5747. #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  5748. pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  5749.  = {0x7008,0xA660}; 
  5750. pascal OSErr PBGetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  5751. #pragma parameter __D0 PBGetCatInfoSync(__A0)
  5752. pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  5753.  = {0x7009,0xA260}; 
  5754. #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  5755. pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  5756.  = {0x7009,0xA660}; 
  5757. pascal OSErr PBSetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  5758. #pragma parameter __D0 PBSetCatInfoSync(__A0)
  5759. pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  5760.  = {0x700A,0xA260}; 
  5761. #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  5762. pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  5763.  = {0x700A,0xA660}; 
  5764.  
  5765. pascal OSErr PBAllocContig(ParmBlkPtr paramBlock,Boolean async); 
  5766. #pragma parameter __D0 PBAllocContigSync(__A0)
  5767. pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  5768.  = 0xA210; 
  5769. #pragma parameter __D0 PBAllocContigAsync(__A0)
  5770. pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  5771.  = 0xA610; 
  5772. pascal OSErr PBLockRange(ParmBlkPtr paramBlock,Boolean async); 
  5773. #pragma parameter __D0 PBLockRangeSync(__A0)
  5774. pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  5775.  = {0x7010,0xA260}; 
  5776. #pragma parameter __D0 PBLockRangeAsync(__A0)
  5777. pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  5778.  = {0x7010,0xA660}; 
  5779. pascal OSErr PBUnlockRange(ParmBlkPtr paramBlock,Boolean async); 
  5780. #pragma parameter __D0 PBUnlockRangeSync(__A0)
  5781. pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  5782.  = {0x7011,0xA260}; 
  5783. #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  5784. pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  5785.  = {0x7011,0xA660}; 
  5786. pascal OSErr PBSetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  5787. #pragma parameter __D0 PBSetVInfoSync(__A0)
  5788. pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  5789.  = {0x700B,0xA260}; 
  5790. #pragma parameter __D0 PBSetVInfoAsync(__A0)
  5791. pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  5792.  = {0x700B,0xA660}; 
  5793. pascal OSErr PBHGetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  5794. #pragma parameter __D0 PBHGetVInfoSync(__A0)
  5795. pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  5796.  = 0xA207; 
  5797. #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  5798. pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  5799.  = 0xA607; 
  5800. pascal OSErr PBHOpen(HParmBlkPtr paramBlock,Boolean async); 
  5801. #pragma parameter __D0 PBHOpenSync(__A0)
  5802. pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  5803.  = 0xA200; 
  5804. #pragma parameter __D0 PBHOpenAsync(__A0)
  5805. pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  5806.  = 0xA600; 
  5807. pascal OSErr PBHOpenRF(HParmBlkPtr paramBlock,Boolean async); 
  5808. #pragma parameter __D0 PBHOpenRFSync(__A0)
  5809. pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  5810.  = 0xA20A; 
  5811. #pragma parameter __D0 PBHOpenRFAsync(__A0)
  5812. pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  5813.  = 0xA60A; 
  5814. pascal OSErr PBHOpenDF(HParmBlkPtr paramBlock,Boolean async); 
  5815. #pragma parameter __D0 PBHOpenDFSync(__A0)
  5816. pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  5817.  = {0x701A,0xA260}; 
  5818. #pragma parameter __D0 PBHOpenDFAsync(__A0)
  5819. pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  5820.  = {0x701A,0xA660}; 
  5821.  
  5822. pascal OSErr PBHCreate(HParmBlkPtr paramBlock,Boolean async); 
  5823. #pragma parameter __D0 PBHCreateSync(__A0)
  5824. pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  5825.  = 0xA208; 
  5826. #pragma parameter __D0 PBHCreateAsync(__A0)
  5827. pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  5828.  = 0xA608; 
  5829. pascal OSErr PBHDelete(HParmBlkPtr paramBlock,Boolean async); 
  5830. #pragma parameter __D0 PBHDeleteSync(__A0)
  5831. pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  5832.  = 0xA209; 
  5833. #pragma parameter __D0 PBHDeleteAsync(__A0)
  5834. pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  5835.  = 0xA609; 
  5836. pascal OSErr PBHRename(HParmBlkPtr paramBlock,Boolean async); 
  5837. #pragma parameter __D0 PBHRenameSync(__A0)
  5838. pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  5839.  = 0xA20B; 
  5840. #pragma parameter __D0 PBHRenameAsync(__A0)
  5841. pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  5842.  = 0xA60B; 
  5843. pascal OSErr PBHRstFLock(HParmBlkPtr paramBlock,Boolean async); 
  5844. #pragma parameter __D0 PBHRstFLockSync(__A0)
  5845. pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  5846.  = 0xA242; 
  5847. #pragma parameter __D0 PBHRstFLockAsync(__A0)
  5848. pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  5849.  = 0xA642; 
  5850. pascal OSErr PBHSetFLock(HParmBlkPtr paramBlock,Boolean async); 
  5851. #pragma parameter __D0 PBHSetFLockSync(__A0)
  5852. pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  5853.  = 0xA241; 
  5854. #pragma parameter __D0 PBHSetFLockAsync(__A0)
  5855. pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  5856.  = 0xA641; 
  5857. pascal OSErr PBHGetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  5858. #pragma parameter __D0 PBHGetFInfoSync(__A0)
  5859. pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  5860.  = 0xA20C; 
  5861. #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  5862. pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  5863.  = 0xA60C; 
  5864. pascal OSErr PBHSetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  5865. #pragma parameter __D0 PBHSetFInfoSync(__A0)
  5866. pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  5867.  = 0xA20D; 
  5868. #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  5869. pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  5870.  = 0xA60D; 
  5871.  
  5872. pascal OSErr PBMakeFSSpec(HParmBlkPtr paramBlock,Boolean async); 
  5873. #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  5874. pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  5875.  = {0x701B,0xA260}; 
  5876. #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  5877. pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  5878.  = {0x701B,0xA660}; 
  5879.  
  5880. pascal void FInitQueue(void)
  5881.  = 0xA016; 
  5882.  
  5883.  
  5884.  
  5885. pascal OSErr HGetVol(StringPtr volName,short *vRefNum,long *dirID); 
  5886. pascal OSErr HSetVol(StringPtr volName,short vRefNum,long dirID); 
  5887. pascal OSErr HOpen(short vRefNum,long dirID,ConstStr255Param fileName,char permission,
  5888.  short *refNum); 
  5889. pascal OSErr HOpenDF(short vRefNum,long dirID,ConstStr255Param fileName,
  5890.  char permission,short *refNum); 
  5891. pascal OSErr HOpenRF(short vRefNum,long dirID,ConstStr255Param fileName,
  5892.  char permission,short *refNum); 
  5893. pascal OSErr AllocContig(short refNum,long *count); 
  5894. pascal OSErr HCreate(short vRefNum,long dirID,ConstStr255Param fileName,
  5895.  OSType creator,OSType fileType); 
  5896. pascal OSErr DirCreate(short vRefNum,long parentDirID,ConstStr255Param directoryName,
  5897.  long *createdDirID); 
  5898. pascal OSErr HDelete(short vRefNum,long dirID,ConstStr255Param fileName); 
  5899. pascal OSErr HGetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  5900.  FInfo *fndrInfo); 
  5901. pascal OSErr HSetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  5902.  const FInfo *fndrInfo); 
  5903. pascal OSErr HSetFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  5904. pascal OSErr HRstFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  5905. pascal OSErr HRename(short vRefNum,long dirID,ConstStr255Param oldName,
  5906.  ConstStr255Param newName); 
  5907. pascal OSErr CatMove(short vRefNum,long dirID,ConstStr255Param oldName,
  5908.  long newDirID,ConstStr255Param newName); 
  5909. pascal OSErr OpenWD(short vRefNum,long dirID,long procID,short *wdRefNum); 
  5910. pascal OSErr CloseWD(short wdRefNum); 
  5911. pascal OSErr GetWDInfo(short wdRefNum,short *vRefNum,long *dirID,long *procID); 
  5912.  
  5913. pascal OSErr PBHGetVolParms(HParmBlkPtr paramBlock,Boolean async); 
  5914. #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  5915. pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  5916.  = {0x7030,0xA260}; 
  5917. #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  5918. pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  5919.  = {0x7030,0xA660}; 
  5920. pascal OSErr PBHGetLogInInfo(HParmBlkPtr paramBlock,Boolean async); 
  5921. #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  5922. pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  5923.  = {0x7031,0xA260}; 
  5924. #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  5925. pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  5926.  = {0x7031,0xA660}; 
  5927. pascal OSErr PBHGetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  5928. #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  5929. pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  5930.  = {0x7032,0xA260}; 
  5931. #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  5932. pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  5933.  = {0x7032,0xA660}; 
  5934. pascal OSErr PBHSetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  5935. #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  5936. pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  5937.  = {0x7033,0xA260}; 
  5938. #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  5939. pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  5940.  = {0x7033,0xA660}; 
  5941. pascal OSErr PBHMapID(HParmBlkPtr paramBlock,Boolean async); 
  5942. #pragma parameter __D0 PBHMapIDSync(__A0)
  5943. pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  5944.  = {0x7034,0xA260}; 
  5945. #pragma parameter __D0 PBHMapIDAsync(__A0)
  5946. pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  5947.  = {0x7034,0xA660}; 
  5948. pascal OSErr PBHMapName(HParmBlkPtr paramBlock,Boolean async); 
  5949. #pragma parameter __D0 PBHMapNameSync(__A0)
  5950. pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  5951.  = {0x7035,0xA260}; 
  5952. #pragma parameter __D0 PBHMapNameAsync(__A0)
  5953. pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  5954.  = {0x7035,0xA660}; 
  5955. pascal OSErr PBHCopyFile(HParmBlkPtr paramBlock,Boolean async); 
  5956. #pragma parameter __D0 PBHCopyFileSync(__A0)
  5957. pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  5958.  = {0x7036,0xA260}; 
  5959. #pragma parameter __D0 PBHCopyFileAsync(__A0)
  5960. pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  5961.  = {0x7036,0xA660}; 
  5962. pascal OSErr PBHMoveRename(HParmBlkPtr paramBlock,Boolean async); 
  5963. #pragma parameter __D0 PBHMoveRenameSync(__A0)
  5964. pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  5965.  = {0x7037,0xA260}; 
  5966. #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  5967. pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  5968.  = {0x7037,0xA660}; 
  5969. pascal OSErr PBHOpenDeny(HParmBlkPtr paramBlock,Boolean async); 
  5970. #pragma parameter __D0 PBHOpenDenySync(__A0)
  5971. pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  5972.  = {0x7038,0xA260}; 
  5973. #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  5974. pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  5975.  = {0x7038,0xA660}; 
  5976. pascal OSErr PBHOpenRFDeny(HParmBlkPtr paramBlock,Boolean async); 
  5977. #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  5978. pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  5979.  = {0x7039,0xA260}; 
  5980. #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  5981. pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  5982.  = {0x7039,0xA660}; 
  5983.  
  5984. pascal OSErr PBExchangeFiles(HParmBlkPtr paramBlock,Boolean async); 
  5985. #pragma parameter __D0 PBExchangeFilesSync(__A0)
  5986. pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  5987.  = {0x7017,0xA260}; 
  5988. #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  5989. pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  5990.  = {0x7017,0xA660}; 
  5991. pascal OSErr PBCreateFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  5992. #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  5993. pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  5994.  = {0x7014,0xA260}; 
  5995. #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  5996. pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  5997.  = {0x7014,0xA660}; 
  5998. pascal OSErr PBResolveFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  5999. #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  6000. pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  6001.  = {0x7016,0xA260}; 
  6002. #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  6003. pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  6004.  = {0x7016,0xA660}; 
  6005. pascal OSErr PBDeleteFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  6006. #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  6007. pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  6008.  = {0x7015,0xA260}; 
  6009. #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  6010. pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  6011.  = {0x7015,0xA660}; 
  6012.  
  6013. pascal OSErr PBGetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  6014. #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  6015. pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  6016.  = {0x7060,0xA260}; 
  6017. #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  6018. pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  6019.  = {0x7060,0xA660}; 
  6020. pascal OSErr PBSetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  6021. #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  6022. pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  6023.  = {0x7061,0xA260}; 
  6024. #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  6025. pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  6026.  = {0x7061,0xA660}; 
  6027.  
  6028. #pragma parameter __D0 PBDTGetPath(__A0)
  6029. pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  6030.  = {0x7020,0xA260}; 
  6031. #pragma parameter __D0 PBDTCloseDown(__A0)
  6032. pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  6033.  = {0x7021,0xA260}; 
  6034. pascal OSErr PBDTAddIcon(DTPBPtr paramBlock,Boolean async); 
  6035. #pragma parameter __D0 PBDTAddIconSync(__A0)
  6036. pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  6037.  = {0x7022,0xA260}; 
  6038. #pragma parameter __D0 PBDTAddIconAsync(__A0)
  6039. pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  6040.  = {0x7022,0xA660}; 
  6041. pascal OSErr PBDTGetIcon(DTPBPtr paramBlock,Boolean async); 
  6042. #pragma parameter __D0 PBDTGetIconSync(__A0)
  6043. pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  6044.  = {0x7023,0xA260}; 
  6045. #pragma parameter __D0 PBDTGetIconAsync(__A0)
  6046. pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  6047.  = {0x7023,0xA660}; 
  6048. pascal OSErr PBDTGetIconInfo(DTPBPtr paramBlock,Boolean async); 
  6049. #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  6050. pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  6051.  = {0x7024,0xA260}; 
  6052. #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  6053. pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  6054.  = {0x7024,0xA660}; 
  6055. pascal OSErr PBDTAddAPPL(DTPBPtr paramBlock,Boolean async); 
  6056. #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  6057. pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  6058.  = {0x7025,0xA260}; 
  6059. #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  6060. pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  6061.  = {0x7025,0xA660}; 
  6062. pascal OSErr PBDTRemoveAPPL(DTPBPtr paramBlock,Boolean async); 
  6063. #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  6064. pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  6065.  = {0x7026,0xA260}; 
  6066. #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  6067. pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  6068.  = {0x7026,0xA660}; 
  6069. pascal OSErr PBDTGetAPPL(DTPBPtr paramBlock,Boolean async); 
  6070. #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  6071. pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  6072.  = {0x7027,0xA260}; 
  6073. #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  6074. pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  6075.  = {0x7027,0xA660}; 
  6076. pascal OSErr PBDTSetComment(DTPBPtr paramBlock,Boolean async); 
  6077. #pragma parameter __D0 PBDTSetCommentSync(__A0)
  6078. pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  6079.  = {0x7028,0xA260}; 
  6080. #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  6081. pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  6082.  = {0x7028,0xA660}; 
  6083. pascal OSErr PBDTRemoveComment(DTPBPtr paramBlock,Boolean async); 
  6084. #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  6085. pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  6086.  = {0x7029,0xA260}; 
  6087. #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  6088. pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  6089.  = {0x7029,0xA660}; 
  6090. pascal OSErr PBDTGetComment(DTPBPtr paramBlock,Boolean async); 
  6091. #pragma parameter __D0 PBDTGetCommentSync(__A0)
  6092. pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  6093.  = {0x702A,0xA260}; 
  6094. #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  6095. pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  6096.  = {0x702A,0xA660}; 
  6097. pascal OSErr PBDTFlush(DTPBPtr paramBlock,Boolean async); 
  6098. #pragma parameter __D0 PBDTFlushSync(__A0)
  6099. pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  6100.  = {0x702B,0xA260}; 
  6101. #pragma parameter __D0 PBDTFlushAsync(__A0)
  6102. pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  6103.  = {0x702B,0xA660}; 
  6104. pascal OSErr PBDTReset(DTPBPtr paramBlock,Boolean async); 
  6105. #pragma parameter __D0 PBDTResetSync(__A0)
  6106. pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  6107.  = {0x702C,0xA260}; 
  6108. #pragma parameter __D0 PBDTResetAsync(__A0)
  6109. pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  6110.  = {0x702C,0xA660}; 
  6111. pascal OSErr PBDTGetInfo(DTPBPtr paramBlock,Boolean async); 
  6112. #pragma parameter __D0 PBDTGetInfoSync(__A0)
  6113. pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  6114.  = {0x702D,0xA260}; 
  6115. #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  6116. pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  6117.  = {0x702D,0xA660}; 
  6118. #pragma parameter __D0 PBDTOpenInform(__A0)
  6119. pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  6120.  = {0x702E,0xA060}; 
  6121. pascal OSErr PBDTDelete(DTPBPtr paramBlock,Boolean async); 
  6122. #pragma parameter __D0 PBDTDeleteSync(__A0)
  6123. pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  6124.  = {0x702F,0xA060}; 
  6125. #pragma parameter __D0 PBDTDeleteAsync(__A0)
  6126. pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  6127.  = {0x702F,0xA460}; 
  6128.  
  6129. #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  6130. pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  6131.  = {0x703F,0xA260}; 
  6132. #pragma parameter __D0 PBGetVolMountInfo(__A0)
  6133. pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  6134.  = {0x7040,0xA260}; 
  6135. #pragma parameter __D0 PBVolumeMount(__A0)
  6136. pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  6137.  = {0x7041,0xA260}; 
  6138.  
  6139. pascal OSErr FSMakeFSSpec(short vRefNum,long dirID,ConstStr255Param fileName,
  6140.  FSSpecPtr spec)
  6141.  = {0x303C,0x0001,0xAA52}; 
  6142. pascal OSErr FSpOpenDF(const FSSpec *spec,char permission,short *refNum)
  6143.  = {0x303C,0x0002,0xAA52}; 
  6144. pascal OSErr FSpOpenRF(const FSSpec  *spec,char permission,short *refNum)
  6145.  = {0x303C,0x0003,0xAA52}; 
  6146. pascal OSErr FSpCreate(const FSSpec  *spec,OSType creator,OSType fileType,
  6147.  ScriptCode scriptTag)
  6148.  = {0x303C,0x0004,0xAA52}; 
  6149. pascal OSErr FSpDirCreate(const FSSpec *spec,ScriptCode scriptTag,long *createdDirID)
  6150.  = {0x303C,0x0005,0xAA52}; 
  6151. pascal OSErr FSpDelete(const FSSpec *spec)
  6152.  = {0x303C,0x0006,0xAA52}; 
  6153. pascal OSErr FSpGetFInfo(const FSSpec *spec,FInfo *fndrInfo)
  6154.  = {0x303C,0x0007,0xAA52}; 
  6155. pascal OSErr FSpSetFInfo(const FSSpec *spec,const FInfo *fndrInfo)
  6156.  = {0x303C,0x0008,0xAA52}; 
  6157. pascal OSErr FSpSetFLock(const FSSpec *spec)
  6158.  = {0x303C,0x0009,0xAA52}; 
  6159. pascal OSErr FSpRstFLock(const FSSpec *spec)
  6160.  = {0x303C,0x000A,0xAA52}; 
  6161. pascal OSErr FSpRename(const FSSpec *spec,ConstStr255Param newName)
  6162.  = {0x303C,0x000B,0xAA52}; 
  6163. pascal OSErr FSpCatMove(const FSSpec *source,const FSSpec *dest)
  6164.  = {0x303C,0x000C,0xAA52}; 
  6165. pascal OSErr FSpExchangeFiles(const FSSpec *source,const FSSpec *dest)
  6166.  = {0x303C,0x000F,0xAA52}; 
  6167.  
  6168. pascal OSErr PBGetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  6169. #pragma parameter __D0 PBGetAltAccessSync(__A0)
  6170. pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  6171.  = {0x7060,0xA060}; 
  6172. #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  6173. pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  6174.  = {0x7060,0xA460}; 
  6175. pascal OSErr PBSetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  6176. #pragma parameter __D0 PBSetAltAccessSync(__A0)
  6177. pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  6178.  = {0x7061,0xA060}; 
  6179. #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  6180. pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  6181.  = {0x7061,0xA460}; 
  6182.  
  6183.  
  6184.  
  6185.  
  6186.  
  6187. # 7 "crtlocal.h" 2
  6188.  
  6189. # 1 "Menus.h" 1
  6190.  
  6191.  
  6192.  
  6193.  
  6194.  
  6195.  
  6196.  
  6197.  
  6198.  
  6199.  
  6200.  
  6201.  
  6202.  
  6203. # 190 "Menus.h"
  6204.  
  6205. # 8 "crtlocal.h" 2
  6206.  
  6207. # 1 "Fonts.h" 1
  6208.  
  6209.  
  6210.  
  6211.  
  6212.  
  6213.  
  6214.  
  6215.  
  6216.  
  6217.  
  6218.  
  6219.  
  6220.  
  6221. # 272 "Fonts.h"
  6222.  
  6223. # 9 "crtlocal.h" 2
  6224.  
  6225. # 1 "TextEdit.h" 1
  6226.  
  6227.  
  6228.  
  6229.  
  6230.  
  6231.  
  6232.  
  6233.  
  6234.  
  6235.  
  6236.  
  6237.  
  6238.  
  6239.  
  6240. # 347 "TextEdit.h"
  6241.  
  6242. # 10 "crtlocal.h" 2
  6243.  
  6244.  
  6245. extern struct crt_fd_tab    { long fd; short flags; } crt_fd_tab[];
  6246. extern char                 crt_defpath[];
  6247. extern short                 crt_ioVRefNum;
  6248. extern WindowPtr            crt_myWindow;
  6249. extern TEHandle                crt_TEH;
  6250.  
  6251. StringPtr cnv_unix_name(const char *nam);
  6252.  
  6253.  
  6254.  
  6255. # 41 "console.c" 2
  6256.  
  6257.  
  6258. static WindowRecord        crt_wRecord;
  6259. static int                linesInFolder;
  6260. static MenuHandle        myMenus[3];
  6261. static ControlHandle     vScroll;
  6262.  
  6263.  
  6264.  
  6265. int SetUpWindows(Str255 name)
  6266. {
  6267.     Rect        viewRect;
  6268.     FontInfo    myInfo;
  6269.     GrafPort    myPort;
  6270.  
  6271.     OpenPort(&myPort);
  6272.     SetPort(&myPort);
  6273.     
  6274.     TextFont(monaco);
  6275.     TextSize(9);
  6276.     GetFontInfo(&myInfo);
  6277.     ClosePort(&myPort);
  6278.  
  6279.     viewRect.left = 0;
  6280.     viewRect.top = 32;
  6281.     viewRect.right = viewRect.left+82*myInfo.widMax+15 ;
  6282.     viewRect.bottom = viewRect.top+25*(myInfo.ascent+myInfo.descent+myInfo.leading)+15 ;
  6283.     OffsetRect(&viewRect,
  6284.             (qd.screenBits.bounds.right-viewRect.right)/2,
  6285.             (qd.screenBits.bounds.bottom-viewRect.bottom)/2);
  6286.     crt_myWindow = NewWindow(&crt_wRecord,&viewRect,name,1,0,(WindowPtr) -1L,1,0);
  6287.     SetPort(crt_myWindow);
  6288.     TextFont(monaco);
  6289.     TextSize(9);
  6290.     
  6291.     viewRect = qd.thePort->portRect;
  6292.     viewRect.left = viewRect.right-15;
  6293.     viewRect.right += 1;
  6294.     viewRect.bottom -= 14;
  6295.     viewRect.top -= 1;
  6296.     vScroll = NewControl( crt_myWindow, &viewRect, "\p", 1, 0, 0, 0, scrollBarProc, 0L);
  6297.     
  6298.     viewRect = qd.thePort->portRect;
  6299.     viewRect.right -= 15 ;
  6300.     viewRect.bottom -= 15 ;
  6301.     InsetRect(&viewRect, 4, 4);
  6302.  
  6303.     crt_TEH = TEStylNew(&viewRect, &viewRect);
  6304.     (**crt_TEH).viewRect = qd.thePort->portRect;
  6305.     (**crt_TEH).viewRect.right -= 15 ;
  6306.     (**crt_TEH).viewRect.bottom -= 15 ;
  6307.     InsetRect(&(**crt_TEH).viewRect, 4, 4);
  6308.  
  6309.     linesInFolder = ((**crt_TEH).viewRect.bottom-(**crt_TEH).viewRect.top)/(**crt_TEH).lineHeight;
  6310.     (**crt_TEH).viewRect.bottom = (**crt_TEH).viewRect.top + (**crt_TEH).lineHeight*linesInFolder;
  6311.     (**crt_TEH).destRect.right = (**crt_TEH).viewRect.right;
  6312.     TECalText(crt_TEH);
  6313. }
  6314.  
  6315. int AdjustText (void)
  6316.  
  6317. {
  6318.     int        oldScroll, newScroll, delta;
  6319.     
  6320.     oldScroll = (**crt_TEH).viewRect.top - (**crt_TEH).destRect.top;
  6321.     newScroll = GetCtlValue(vScroll) * (**crt_TEH).lineHeight;
  6322.     delta = oldScroll - newScroll;
  6323.     if (delta != 0)
  6324.       TEScroll(0, delta, crt_TEH);
  6325. }
  6326.  
  6327. # 148 "console.c"
  6328.  
  6329.  
  6330. int DoMouseDown (int windowPart, WindowPtr whichWindow, EventRecord *myEvent)
  6331.  
  6332. {
  6333.     switch (windowPart) {
  6334.         case inGoAway:
  6335.             if (    ((crt_myWindow != 0 ) && (whichWindow == crt_myWindow)) )
  6336.                 if (TrackGoAway(crt_myWindow, myEvent->where))
  6337.                         {
  6338.                         HideWindow(crt_myWindow);
  6339.                         TESetSelect(0, (**crt_TEH).teLength, crt_TEH);
  6340.                         TEDelete(crt_TEH);
  6341.                             {
  6342.                                 register int    n;
  6343.                                 
  6344.                                 n = (**crt_TEH).nLines-linesInFolder;
  6345.                             
  6346.                                 if ((**crt_TEH).teLength > 0 && (*((**crt_TEH).hText))[(**crt_TEH).teLength-1]=='\r')
  6347.                                     n++;
  6348.                             
  6349.                                 SetCtlMax(vScroll, n > 0 ? n : 0);
  6350.                             }
  6351.                         }
  6352.             break;
  6353.  
  6354.         case inMenuBar:
  6355.             return(DoCommand(MenuSelect(myEvent->where)));
  6356.  
  6357.         case inSysWindow:
  6358.             SystemClick(myEvent, whichWindow);
  6359.             break;
  6360.  
  6361.         case inDrag:
  6362.             if (    ((crt_myWindow != 0 ) && (whichWindow == crt_myWindow)) )
  6363.                 {
  6364.                 Rect dragRect = { 0, 0, 1024, 1024 };
  6365.                 DragWindow(whichWindow, myEvent->where, &dragRect);
  6366.                 }
  6367.             break;
  6368.  
  6369.         case inGrow:
  6370.             if (    ((crt_myWindow != 0 ) && (whichWindow == crt_myWindow)) )
  6371.                 {
  6372.                     Point p = myEvent->where;
  6373.                     GrafPtr    savePort;
  6374.                     long    theResult;
  6375.                     Rect    oldHorizBar;
  6376.                     Rect     r;
  6377.                     
  6378.                     GetPort(&savePort);
  6379.                     SetPort(whichWindow);
  6380.                     
  6381.                     oldHorizBar = whichWindow->portRect;
  6382.                     oldHorizBar.top = oldHorizBar.bottom - (15 +1);
  6383.                 
  6384.                     SetRect(&r, 80, 80, qd.screenBits.bounds.right, qd.screenBits.bounds.bottom);
  6385.                     theResult = GrowWindow(whichWindow, p, &r);
  6386.                     if (theResult == 0)
  6387.                       return;
  6388.                     SizeWindow( whichWindow, LoWord(theResult), HiWord(theResult), false);
  6389.                 
  6390.                     InvalRect(&whichWindow->portRect);
  6391.                     
  6392.                     (**crt_TEH).viewRect = whichWindow->portRect;
  6393.                     (**crt_TEH).viewRect.right -= 15 ;
  6394.                     (**crt_TEH).viewRect.bottom -= 15 ;
  6395.                     InsetRect(&(**crt_TEH).viewRect, 4, 4);
  6396.                 
  6397.                     linesInFolder = ((**crt_TEH).viewRect.bottom-(**crt_TEH).viewRect.top)/(**crt_TEH).lineHeight;
  6398.                     (**crt_TEH).viewRect.bottom = (**crt_TEH).viewRect.top + (**crt_TEH).lineHeight*linesInFolder;
  6399.                     (**crt_TEH).destRect.right = (**crt_TEH).viewRect.right;
  6400.                     TECalText(crt_TEH);
  6401.  
  6402.                     EraseRect(&oldHorizBar);
  6403.                     
  6404.                     MoveControl(vScroll, whichWindow->portRect.right - 15 , whichWindow->portRect.top-1);
  6405.                     SizeControl(vScroll, 15 +1, whichWindow->portRect.bottom - whichWindow->portRect.top-(15 -2));
  6406.                     r = (**vScroll).contrlRect;
  6407.                     ValidRect(&r);
  6408.                 
  6409.                 
  6410.                         {
  6411.                             register int    n;
  6412.                             
  6413.                             n = (**crt_TEH).nLines-linesInFolder;
  6414.                         
  6415.                             if ((**crt_TEH).teLength > 0 && (*((**crt_TEH).hText))[(**crt_TEH).teLength-1]=='\r')
  6416.                                 n++;
  6417.                         
  6418.                             SetCtlMax(vScroll, n > 0 ? n : 0);
  6419.                         }
  6420.  
  6421.                     AdjustText();
  6422.                     
  6423.                     SetPort(savePort);
  6424.                 }
  6425.             break;
  6426.  
  6427.         case inContent:
  6428.             if (whichWindow != FrontWindow())
  6429.                 SelectWindow(whichWindow);
  6430.             else if (    ((crt_myWindow != 0 ) && (whichWindow == crt_myWindow)) )
  6431.                 {
  6432.                 int                cntlCode;
  6433.                 ControlHandle     theControl;
  6434.                 int                pageSize;
  6435.                 GrafPtr            savePort;
  6436.                 
  6437.                 GetPort(&savePort);
  6438.                 SetPort(whichWindow);
  6439.                 
  6440.                 GlobalToLocal(&myEvent->where);
  6441.                 if ((cntlCode = FindControl(myEvent->where, whichWindow, &theControl)) == 0) {
  6442.                 if (PtInRect(myEvent->where, &(**crt_TEH).viewRect))
  6443.                     TEClick(myEvent->where, (myEvent->modifiers & shiftKey)!=0, crt_TEH);
  6444.                 } else if (cntlCode == inThumb) {
  6445.                 TrackControl(theControl, myEvent->where, 0L);
  6446.                 AdjustText();
  6447.                 } else
  6448.                 TrackControl(theControl, myEvent->where, 
  6449.  
  6450.  
  6451.  
  6452. 0);
  6453.  
  6454.                 SetPort(savePort);
  6455.                 }
  6456.             break;
  6457.     }
  6458. }
  6459.  
  6460.  
  6461. int ShowSelect (void)
  6462.  
  6463. {
  6464.     register    int        topLine, bottomLine, theLine;
  6465.     
  6466.     register int    n;
  6467.     
  6468.     n = (**crt_TEH).nLines-linesInFolder;
  6469.  
  6470.     if ((**crt_TEH).teLength > 0 && (*((**crt_TEH).hText))[(**crt_TEH).teLength-1]=='\r')
  6471.         n++;
  6472.  
  6473.     SetCtlMax(vScroll, n > 0 ? n : 0);
  6474.     AdjustText();
  6475.     
  6476.     topLine = GetCtlValue(vScroll);
  6477.     bottomLine = topLine + linesInFolder;
  6478.     
  6479.     if ((**crt_TEH).selStart < (**crt_TEH).lineStarts[topLine] ||
  6480.             (**crt_TEH).selStart >= (**crt_TEH).lineStarts[bottomLine]) {
  6481.         for (theLine = 0; (**crt_TEH).selStart >= (**crt_TEH).lineStarts[theLine]; theLine++)
  6482.             ;
  6483.         SetCtlValue(vScroll, theLine - linesInFolder / 2);
  6484.         AdjustText();
  6485.     }
  6486. }
  6487.  
  6488. int SetUpMenus(void)
  6489. {
  6490.     int        i;
  6491.     
  6492.     myMenus[        0 ] = NewMenu(        128 , "\p\024");
  6493.     AppendMenu(myMenus[        0 ], "\pAbout ...");
  6494.     AddResMenu(myMenus[        0 ], 'DRVR');
  6495.     myMenus[        1 ] = NewMenu(        129 , "\pFile");
  6496.     AppendMenu(myMenus[        1 ], "\pQuit/Q");
  6497.     myMenus[        2 ] = NewMenu(        130 , "\pEdit");
  6498.     AppendMenu(myMenus[        2 ], "\pUndo/Z;-;Cut/X;Copy/C;Paste/V;Clear;Select All/A");
  6499.     DisableItem(myMenus[        2 ],     1 );
  6500.     for ((i=        0 ); (i<=        2 ); i++)
  6501.         InsertMenu(myMenus[i], 0) ;
  6502.     DrawMenuBar();
  6503. }
  6504.  
  6505. int DoCommand(long mResult)
  6506.     {
  6507.     int        theItem;
  6508.     Str255    name;
  6509.     
  6510.     theItem = LoWord(mResult);
  6511.     switch (HiWord(mResult)) 
  6512.         {
  6513.         case         128 :
  6514.             if (myMenus[        0 ])
  6515.                 {
  6516.                 GetItem(myMenus[        0 ], theItem, name);
  6517.                 OpenDeskAcc(name);
  6518.                 SetPort(crt_myWindow);
  6519.                 break;
  6520.                 }
  6521.         case         129 :
  6522.             ExitToShell();
  6523.             break;
  6524.  
  6525.         case         130 : 
  6526.             if (SystemEdit(theItem-1) == 0) {
  6527.                 switch (theItem) {
  6528.                     case     3 :
  6529.                         ZeroScrap();
  6530.                         TECut(crt_TEH);
  6531.                         break;
  6532.     
  6533.                     case     4 :
  6534.                         ZeroScrap();
  6535.                         TECopy(crt_TEH);
  6536.                         break;
  6537.         
  6538.                     case 5 :
  6539.                         TEPaste(crt_TEH);
  6540.                         break;
  6541.         
  6542.                     case 6 :
  6543.                         TEDelete(crt_TEH);
  6544.                         break;
  6545.                         
  6546.                     case   7 :
  6547.                         TESetSelect(0, 32767, crt_TEH);
  6548.                         break;
  6549.                 }
  6550.                 ShowSelect();
  6551.             }
  6552.             break;
  6553.     }
  6554.     HiliteMenu(0);
  6555.     return(1);
  6556. }
  6557.  
  6558. int MaintainCursor(void)
  6559. {
  6560.     Point        pt;
  6561.     WindowPeek    wPtr;
  6562.     GrafPtr        savePort;
  6563.     
  6564.     if (    ((crt_myWindow != 0 ) && ((WindowPtr)(wPtr=(WindowPeek)FrontWindow()) == crt_myWindow)) ) {
  6565.         GetPort(&savePort);
  6566.         SetPort((GrafPtr)wPtr);
  6567.         GetMouse(&pt);
  6568.         if (PtInRect(pt, &(**crt_TEH).viewRect ) )
  6569.             SetCursor( *GetCursor(1));
  6570.         else SetCursor(&qd.arrow);
  6571.         SetPort(savePort);
  6572.     }
  6573. }
  6574.  
  6575. void test_inited(Str255 name)
  6576.     {
  6577.     if (!qd.thePort)
  6578.         {
  6579.         InitGraf(&qd.thePort);
  6580.         InitFonts();
  6581.         InitWindows();
  6582.         InitMenus();
  6583.         TEInit();
  6584.         InitCursor();
  6585.         SetUpMenus();
  6586.         }
  6587.     if (!crt_myWindow)
  6588.         {
  6589.         SetUpWindows(name);
  6590.         }
  6591.     }
  6592.  
  6593. int cwrite(int fd, const void *buf, int size)
  6594.     {
  6595.     int tot;
  6596.     Ptr newtext;
  6597.     test_inited(fd==2?"\pStdErr":"\pStdOut");
  6598.     newtext = NewPtr(size);
  6599.     if (!newtext) newtext = (Ptr)buf;
  6600.     else for (tot = 0; tot < size; tot++)
  6601.         {
  6602.         newtext[tot] = ((char *)buf)[tot];
  6603.         if (newtext[tot]=='\n') newtext[tot]='\r';
  6604.         }
  6605.     TESetSelect(32767,32767,crt_TEH);
  6606.     TEInsert(newtext, size, crt_TEH);
  6607.     if (newtext != (Ptr) buf) DisposPtr(newtext);
  6608.     return size;
  6609.     }
  6610.  
  6611. int cgetc(void) 
  6612.     {
  6613.     EventRecord        myEvent;
  6614.     WindowPtr        whichWindow;
  6615.     short            windowPart;
  6616.     Rect            r;
  6617.     test_inited("\pStdIn");
  6618.     for (;;)
  6619.         {
  6620.         MaintainCursor();
  6621.         SystemTask();
  6622.         TEIdle(crt_TEH);
  6623.         if (GetNextEvent(everyEvent, &myEvent)) 
  6624.             {
  6625.             switch (myEvent.what) 
  6626.                 {
  6627.                 case mouseDown:
  6628.                     windowPart = FindWindow(myEvent.where, &whichWindow);
  6629.                     DoMouseDown(windowPart, whichWindow, &myEvent);
  6630.                     break;
  6631.                 case keyDown:
  6632.                 case autoKey: 
  6633.                     {
  6634.                     register unsigned char theChar;
  6635.                     theChar = myEvent.message & charCodeMask;
  6636.                     if ((myEvent.modifiers & cmdKey) != 0) 
  6637.                         DoCommand(MenuKey(theChar));
  6638.                     else if (theChar == '\r')
  6639.                         return '\n';
  6640.                     else if (theChar < ' ') 
  6641.                         {
  6642.                         TEKey(theChar, crt_TEH);
  6643.                         ShowSelect();
  6644.                         }
  6645.                     else return(theChar);
  6646.                     break;
  6647.                     }    
  6648.                 case activateEvt:
  6649.                     if (    ((crt_myWindow != 0 ) && ((WindowPtr)myEvent.message == crt_myWindow)) ) 
  6650.                         {
  6651.                         if (myEvent.modifiers & activeFlag) 
  6652.                             {
  6653.                             TEActivate(crt_TEH);
  6654.                             ShowControl(vScroll);
  6655.                             }
  6656.                         else 
  6657.                             {
  6658.                             TEDeactivate(crt_TEH);
  6659.                             HideControl(vScroll);
  6660.                             }
  6661.                         }
  6662.                     break;
  6663.         
  6664.                 case updateEvt: 
  6665.                     if (    ((crt_myWindow != 0 ) && ((WindowPtr) myEvent.message == crt_myWindow)) )
  6666.                             {
  6667.                                 GrafPtr    savePort;
  6668.                                 
  6669.                                 GetPort(&savePort);
  6670.                                 SetPort(crt_myWindow);
  6671.                             
  6672.                                 BeginUpdate(crt_myWindow);
  6673.                                 EraseRect(&crt_myWindow->portRect);
  6674.                                 DrawControls(crt_myWindow);
  6675.                                 DrawGrowIcon(crt_myWindow);
  6676.                                 TEUpdate(&crt_myWindow->portRect, crt_TEH);
  6677.                                 EndUpdate(crt_myWindow);
  6678.                             
  6679.                                 SetPort(savePort);
  6680.                             }
  6681.                             
  6682.                     break;
  6683.                 }  
  6684.             }  
  6685.         }
  6686.     }
  6687.